chore: Replace deprecated/paid macOS runners and cargo update#273
Merged
chore: Replace deprecated/paid macOS runners and cargo update#273
Conversation
- Replace removed macos-13-large and macos-14-large (Intel paid) with macos-15-intel (free) in ci.yml and release.yml - Replace removed macos-13-xlarge and macos-14-xlarge (arm64 paid) with macos-14 and macos-15 (free) in ci.yml - Replace macos-14-large with macos-15 (arm64 free) in e2e.yml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- ListProposalInfo renamed to ListProposalInfoRequest (moved to ic-nns-governance-api) - Split now requires a memo field - NnsFunction::canister_and_function() is no longer public; replicate mapping locally - Handle new Action variants: DeregisterKnownNeuron, BlessAlternativeGuestOsVersion, TakeCanisterSnapshot, LoadCanisterSnapshot Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove the `list_tests` job and `e2e-matrix.py` script. The test matrix is now defined inline, eliminating indirection through a Python script, a job output, and an intermediate env var. Also fixes a latent OS name mismatch (`macos-14-large` vs `macos-15`) that would have broken artifact downloads. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Use the official cross-platform bats-core/bats-action@4.0.0 instead of hand-rolled provision scripts. This removes the two OS-specific scripts, fixes the arm64 path issue (no more hardcoded /usr/local/lib), and switches _.bash to the modern bats_load_library mechanism. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…flow All provision-*-build scripts were dead weight: the darwin/windows ones were empty, and the linux one installed libudev-dev which is no longer needed (hidapi uses default-features=false, so no udev dependency). Also merge the e2e build and test jobs into one, eliminating the artifact upload/download machinery that was only needed when multiple test jobs shared a single build. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
hidapi's C build script links against libudev at the system level even with default-features = false, so it doesn't appear in Cargo.lock but is still required on Linux. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
viviveevee
approved these changes
Feb 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
CI
macOS 13 runners (macos-13-large, macos-13-xlarge) were removed by GitHub on December 8, 2025, causing CI failures. This PR fixes the breakage and takes the opportunity to switch all macOS jobs from paid larger runners to free standard runners.
Remove accumulated CI cruft: dead provision scripts, dynamic e2e matrix generation, and the separate build/test artifact pipeline.
Dependencies update
This PR updates all dfinity/ic mono-repo dependencies to revision 007c473 and accommodates the breaking changes introduced upstream.
The dependency bump was triggered by a cargo update, which pulled in newer transitive dependencies that are incompatible with the older IC revision. Updating the IC revision then surfaced several breaking API changes — renamed/moved types, new required fields, a method made crate-private, and new enum variants — which required corresponding adjustments in quill's source code and test fixtures.