ci: run Python tests on arm64
Metadata
Current evaluation
Merged. Enables Python unit and integration tests on ARM64 runners. Resolved ARM64 compatibility issues and marked complex fetch service tests as amd64-only, tracking remaining work in issue #1032. Approved and passes CI. Prerequisite for #1027 and CRAFT-4992.
Suggested action: —
No scores available.
Issue body
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
This runs the unit and integration tests on ARM64 runners and fixes several test issues found when enabling this.
Some fetch service tests wound up being fairly complex to fix so I marked them as amd64-only and made https://github.com/canonical/craft-application/issues/1032.
This is a prerequisite for #1027 and required for CRAFT-4992
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Enables Python unit and integration tests on ARM64 runners. Resolved ARM64 compatibility issues and marked complex fetch service tests as amd64-only, tracking remaining work in issue #1032. Approved and passes CI. Prerequisite for #1027 and CRAFT-4992. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to enable Python unit and integration tests on ARM64 CI runners. Resolved test compatibility issues and marked complex fetch service tests as amd64-only, tracking the remainder in issue #1032. Prerequisite for #1027 and CRAFT-4992. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to enable Python unit and integration tests on ARM64 CI runners. Resolved test failures and marked complex fetch service tests as amd64-only, tracking follow-up work in issue #1032. Prerequisite for #1027 and CRAFT-4992. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1032 Some fetch service tests are hard-coded to amd64 | craft-application | open | Fetch service tests hard-coded to amd64 need to run on any architecture. Triaged (CRAFT-5057); CI now runs Python tests on arm64, but no fix commit found yet. | |
| #5248 ci: publish snaps to arm64 | snapcraft | merged | Merged CI updates to build and publish test snaps for arm64. Approved by two reviewers with passing checks, the change enables automated testing for related snapcraft and craft-providers issues. | |
| #145 fix: fix tests on arm64 | craft-archives | merged | Merged to fix arm64 test failures. Approved by two reviewers and integrated after passing most CI checks, despite a failing OSV-scanner. Resolves #143 and #144 with a 32-line change across two files. | |
| #1311 ci: test non java/python plugins on more platforms | craft-parts | merged | Merged. Expanded CI to test non-Java/Python plugins on ARM, s390x, and ppc64el. Approved by reviewers with all checks passing. Flaky tests and lint issues were resolved in separate PRs. | |
| #868 ci: run tests on amd64 | rockcraft | merged | Merged to run CI tests on amd64, bypassing s390x runner failures caused by missing cryptography wheels. Approved by two reviewers and passed CI checks. | |
| #1206 Arm64 witness | snapcraft | closed | Merged after confirming successful arm64 autopkgtest execution. The change verified test compatibility following a python console scripts merge, with successful xenial-arm64 results noted despite initial reviewer comments about missing arm64 runs. |