Skip to content

Fix red CI on master: plugin deps (aiohttp/scipy) + flytectl install#3448

Merged
machichima merged 4 commits into
flyteorg:masterfrom
1fanwang:fix-ci-spark-aiohttp-pin
Jun 30, 2026
Merged

Fix red CI on master: plugin deps (aiohttp/scipy) + flytectl install#3448
machichima merged 4 commits into
flyteorg:masterfrom
1fanwang:fix-ci-spark-aiohttp-pin

Conversation

@1fanwang

@1fanwang 1fanwang commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Why are the changes needed?

Two unrelated failures are reding CI on master (and every PR):

  1. Plugin buildsflytekit-spark and flytekit-onnx-scikitlearn. A -U dependency step re-resolves aiohttp to >=3.14 (which aioresponses can't mock) and pulls scipy>=1.18 for onnx. See flytekit plugin CI red on master: flytekit-spark and flytekit-onnx-scikitlearn builds failing flyte#7604.

  2. Integration jobs — both integration_test_* jobs die at Install FlyteCTL:

    ##[error]Cannot read properties of undefined (reading 'assets')
    

    unionai-oss/flytectl-setup-action@master resolves "latest" from the first page of flyteorg/flyte releases and reads i[0].assets. That page is now entirely Flyte 2.0 (v2.0.x) tags — no flytectl/ release on it — so the list is empty and it throws.

What changes were proposed in this pull request?

  • Re-pin aiohttp<3.14 (spark) and scipy<1.18 (onnx) after the -U step.
  • Install flytectl by downloading the last release (flytectl/v0.9.8) directly from its asset URL instead of the action.

The flytectl root cause is in unionai-oss/flytectl-setup-action (it reads only the first page of flyteorg/flyte releases, now all Flyte 2.0 tags). Fixing the action would be the cleaner fix for everyone, but flytectl is frozen at v0.9.8, so pinning it directly is deterministic and avoids depending on that action. Happy to pursue a fix in the action instead if you'd prefer.

How was this patch tested?

CI on this PR. The plugin builds are green, and the integration jobs now get past Install FlyteCTL and Setup Flyte Sandbox (flytectl demo start) — both confirmed green on a prior run of the flytectl change — into the integration tests themselves.

Check all the applicable boxes

  • I updated the documentation accordingly.
  • All new and existing tests passed.
  • All commits are signed-off.

1fanwang added 2 commits June 29, 2026 22:57
Signed-off-by: 1fanwang <1fannnw@gmail.com>
…ter -U

Both plugin builds are red on master, so every PR inherits two failing checks.

onnx-scikitlearn: scikit-learn (via skl2onnx) pulls scipy 1.18, which requires
numpy>=2 and uses np.long; under CI's forced numpy<2 it crashes at import and
surfaces as 'sklearn is not a package'. Cap scipy to its last numpy<2 line.

spark: the '-U flytekit' step re-resolves aiohttp back to 3.14, which aioresponses
cannot build a mocked ClientResponse against. Re-pin aiohttp<3.14 after that step.
This single pin clears all 18 spark failures: the broken aioresponses patches were
leaking a current_context Mock and a dirty Spark session into later tests, which is
why the databricks, autospec, and real-Spark (pyspark 4) tests all failed. The plugin
itself works on pyspark 4 (every real-Spark test passes on 4.1.2), so no pyspark cap.

See flyteorg/flyte#7604.

Signed-off-by: 1fanwang <1fannnw@gmail.com>
1fanwang added 2 commits June 29, 2026 23:21
The integration job's unionai-oss/flytectl-setup-action flaked resolving the
latest flytectl release from the GitHub API ("Cannot read properties of undefined
(reading 'assets')"); it is unrelated to this change and passes on re-run.

Signed-off-by: 1fanwang <1fannnw@gmail.com>
unionai-oss/flytectl-setup-action resolves the latest flytectl from the
first page of flyteorg/flyte releases. That page is now entirely Flyte 2.0
(v2.0.x) tags with no flytectl/ release, so the action crashes with
"Cannot read properties of undefined (reading 'assets')" and reds the
integration jobs on master and every PR. Download the last flytectl
release (v0.9.8) from its asset URL instead.

Signed-off-by: 1fanwang <1fannnw@gmail.com>
@1fanwang 1fanwang changed the title Fix red plugin CI on master: flytekit-spark (aiohttp) and flytekit-onnx-scikitlearn (scipy) Fix red CI on master: plugin deps (aiohttp/scipy) + flytectl install Jun 30, 2026
@machichima machichima merged commit 6b24374 into flyteorg:master Jun 30, 2026
55 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants