Skip to content

ci(conda): upload the macos-26-intel legs with the anaconda CLI (#2044) - #2049

Merged
JarryShaw merged 1 commit into
mainfrom
ci/2044-intel-cli-upload
Oct 22, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
ci/2044-intel-cli-upload

Conversation

@JarryShaw

@JarryShaw JarryShaw commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • ci — changes to CI configuration files and scripts

Description of your pull request and other information

Closes #2044. This is fix 3; fixes 1 and 2 landed in #2045. Per the owner's ruling, option (a): only the macos-26-intel legs stop using anaconda/actions/upload-package, whose ana-darwin-x86_64 download returns 404.

  • New step: in cron-conda.yml and create-release.yml, the existing Upload conda packages to Anaconda step now skips macos-26-intel. A new Upload conda packages to Anaconda (Intel) step runs only there. It installs anaconda-client from conda-forge and runs anaconda upload --user jarryshaw --skip-existing with the same labels and package list. The token arrives through env:, the release step keeps the check_leg gate, and an empty package list fails with ::error.
  • Differences from the action:
    • On Conda Update, --skip-existing keeps a file that already exists, where the action's force: true replaces it.
    • On Create Release, the action fails on an existing file; this step skips it.
    • The client is unpinned.
    • releasing.rst says all of this.
  • Release-gate test: PUBLISHING_MARKERS in test_release_gates.py now recognises the CLI call. Probed with a CLI-only job that had no environment:: the old markers missed it, and the new ones fail.
  • Tests: the new tests/project/test_conda_intel_cli_upload_2044.py fails on main's workflows (18 failed) and passes here. This file plus the release gate and tag tests: 219 passed.

PR CI never runs Conda Update or Create Release, so the Intel step is unproven until a real run.

anaconda/actions/upload-package v0.3.1 installs its CLI from
anaconda.sh/releases/stable/v0.2.1/ana-darwin-x86_64, which returns 404, so
"Upload conda packages to Anaconda" fails on every Intel leg.

In cron-conda.yml's conda-dist and create-release.yml's conda, that step now
skips macos-26-intel, and "Upload conda packages to Anaconda (Intel)" runs
there instead: it installs conda-forge's anaconda-client into base and makes
the action's own `anaconda --token ... upload --user ...` call, with the same
channel, labels and files, plus `--skip-existing`. Every other leg keeps the
action. create-release.yml's per-leg check still gates both.

releasing.rst states the Intel exception. test_release_gates.py's
PUBLISHING_MARKERS recognises the CLI call as a route to anaconda.org.

tests/project/test_conda_intel_cli_upload_2044.py evaluates both steps' `if:`
per leg and runs the CLI step with a stand-in conda and anaconda;
test_release_tags_the_run_sha_1634.py's pins of the action step's `if:`
follow.
@JarryShaw JarryShaw added bug Issues reporting a defect (set by the bug report template; a default, not an assessment) ci Pull requests that change CI or workflow configuration (ci: subject prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 22, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 717569017 (Sonnet cross-review).

  • Matches the action: the reviewer read the action's action.yml at the pinned sha. Its call has the same shape, the same label split and trim, the same user, and the token through env:. The only differences are the stated ones: --skip-existing instead of --force, the empty-list error, and an unpinned client.
  • Flags and paths: the flags are present in anaconda-client 1.14.1 and 1.16.0. ${CONDA} is exported by setup-miniconda at the pinned sha.
  • Gates: each leg runs exactly one upload step, and check_leg gates both steps.
  • Tests: 18 failed on main's workflows, 219 passed here.

UNVERIFIED: a real macos-26-intel run, including the conda install anaconda-client solve.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 22, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 91.54% (unit tier, Python 3.15, 717569017, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19599 881 2618 867 92.11%
pcapkit/corekit 2567 71 816 37 96.57%
pcapkit/dumpkit 282 3 102 3 98.44%
pcapkit/foundation 2930 23 1022 25 98.79%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 17436 219 4582 185 98.15%
pcapkit/toolkit 872 36 298 10 95.21%
pcapkit/utilities 529 7 160 5 98.26%
pcapkit/vendor 4431 1995 1018 167 51.73%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Ordering check on 717569017: the project leg (util/run_unittest_leg.py project) ran 1850 tests, OK (71 skipped). CI: 63 checks green, 0 failing. KTLO 3.8, 3.9 and 3.10 legs: 0 failing tests. With #2046 merged, Python pypy3.10 (KTLO) now installs and passes 930 tests. Ready to merge.

@JarryShaw
JarryShaw merged commit 612e656 into main Oct 22, 2026
65 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 22, 2026
@JarryShaw
JarryShaw deleted the ci/2044-intel-cli-upload branch October 22, 2026 20:47
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 22, 2026
@JarryShaw JarryShaw added this to the PyPCAPKit v1.5 milestone Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Issues reporting a defect (set by the bug report template; a default, not an assessment) ci Pull requests that change CI or workflow configuration (ci: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Conda Update: macos-26-intel legs fail on a frozen Intel Miniconda (conda 25.7.0) and a 404 upload binary

1 participant