Skip to content

ci(conda): build the macos-26-intel legs again (#2123) - #2124

Merged
JarryShaw merged 1 commit into
mainfrom
ci/2123-intel-conda
Oct 24, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
ci/2123-intel-conda

Conversation

@JarryShaw

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 #2123. Every macos-26-intel conda leg failed on the build-only Conda Update run 40020510868. Both causes are upstream.

  • 3.11–3.13: setup-miniconda's base python=3.1x install upgraded libmambapy to 2.10.0, which rejects the signatures= that conda-libmamba-solver 26.10.0 passes (Add downstream tests for conda integration conda-forge/mamba-feedstock#407).
    • Fix: "Conda environment creation and activation" no longer changes base's Python on Intel, in both cron-conda.yml conda-dist and create-release.yml conda. The Intel 3.14 and 3.15 legs already worked this way and passed this step.
    • Why it's safe: conda build --python still targets the matrix version, and the smoke test and upload use setup-python's interpreter.
  • 3.14/3.15: conda-build 26.9's rpath relocation (cctools 1030) failed on the vendored chardet extensions: install_name_tool … larger updated load commands do not fit.
    • Fix: binary_relocation: false # [osx and x86_64] in conda/pypcapkit/meta.yaml, for osx-64 only.
    • Why it's safe: the vendored macOS x86_64 extensions (chardet, cffi, cryptography 48.0.1) link only system libraries and carry no rpath. Shebang and prefix replacement still run.
  • Tests: test_conda_intel_miniforge_2044 gains checks on both changes, evaluating the setup inputs per leg and the selector per platform. Without the change 8 subtests and 2 tests fail. actionlint 1.7.12 is clean.
  • Verification: a build-only run on verify/conda-2120-2123 (this commit plus fix(release): read the environment without os.environb where Windows lacks it (#2120) #2122) is in progress, and I'll post its legs here.

- Conda environment creation and activation: leave base's Python alone on
  macos-26-intel, in both conda jobs. Installing the matrix Python into
  Miniforge's base rebuilt libmambapy at 2.10.0, which conda-libmamba-solver
  26.10.0 cannot drive, so "Install conda build tools" crashed. `conda build
  --python` still targets the matrix version.
- conda/pypcapkit/meta.yaml: `binary_relocation: false` on osx-64. Every
  binary is from a wheel and links only system libraries; conda-build 26.9's
  added rpath does not fit the vendored chardet extensions' headers.
- Pinned in test_conda_intel_miniforge_2044 per leg and per platform.
@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 23, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at be9f75611 (Sonnet review). The real run on verify/conda-2120-2123 (40034513322) is still pending.

  • The expression: it gives '' on every macos-26-intel leg and on 3.15. Every other leg gets its matrix version, as before. There is no &&/|| trap, since the version string is never empty.
  • Base Python is unused downstream: release_conda.py build passes --python ${PCAPKIT_PYTHON_VERSION} and is stdlib-only. The smoke test uses setup-python's ${pythonLocation}, and the upload runs python3 util/release_conda.py upload.
  • The selector: in conda-build's metadata.py, osx is startswith("osx-") and x86_64 is endswith("-64"), so [osx and x86_64] matches osx-64 only.
  • Tests: test_conda_intel_miniforge_2044 fails 10 checks with .github and conda reverted, and passes at head. The 1633, release-gates and 1822 tests pass.
  • UNVERIFIED until the run reports: the claim that the vendored Mach-O files link only system libraries, and whether 3.11–3.13 hit the chardet relocation once past the solver. The meta.yaml line covers that case.

@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 23, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19599 880 2618 866 92.12%
pcapkit/corekit 2580 75 814 37 96.46%
pcapkit/dumpkit 282 3 102 3 98.44%
pcapkit/foundation 2944 23 1028 25 98.79%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 17414 219 4574 185 98.14%
pcapkit/toolkit 869 36 298 10 95.20%
pcapkit/utilities 473 7 136 5 98.03%
pcapkit/vendor 4432 1988 1018 167 51.87%

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

@JarryShaw

Copy link
Copy Markdown
Owner Author

Verified on Actions. Build-only run 40034513322 on verify/conda-2120-2123 (923ce3f63 = main + #2122 + this PR) finished with every conda-dist leg green.

  • macos-26-intel, Python 3.11–3.15: all pass. That includes 3.11–3.13, which failed in 40020510868 on the libmambapy 2.10.0 / signatures= error, and 3.14–3.15, which failed on install_name_tool. Their only annotation is libmamba's standard package-scripts security notice.
  • ubuntu-latest and macos-latest: every leg passes.

The tests/project ordering leg is running on a scratch merge into main; I'll post the ready note when it passes.

@JarryShaw

Copy link
Copy Markdown
Owner Author

Ready to merge at be9f75611.

  • Review: the Sonnet review is GOOD TO GO.
  • CI: every blocking check passed (Required checks passed SUCCESS). The 3.8–3.10 KTLO legs carry no warnings.
  • Ordering: the tests/project plain-unittest ordering leg passed on a scratch merge into main (82b901b91). It ran 2184 tests with 0 failures.
  • On Actions: every macos-26-intel conda-dist leg, Python 3.11–3.15, passed in build-only run 40034513322 (see above).

This closes #2123.

@JarryShaw
JarryShaw merged commit 7904f61 into main Oct 24, 2026
66 checks passed
@JarryShaw
JarryShaw deleted the ci/2123-intel-conda branch October 24, 2026 00:26
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 24, 2026
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 24, 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.

ci(conda): macos-26-intel conda legs fail on libmambapy 2.10.0 and conda-build 26.9's rpath relocation

1 participant