← Back to issue list

Package service integration tests fail on non-amd64 architectures

View original Github issue

Metadata

Project
charmcraft
Number
#2018
Type
issue
State
open
Author
lengau
Labels
Created
Updated
Closed

Current evaluation

Package service integration tests hardcode amd64, causing failures on arm64 CI. Still open; QA workflow limits tests to amd64 as a workaround referencing this issue. No fix merged yet.

Suggested action: keep open

Reason: The QA workflow (.github/workflows/qa.yaml) explicitly references this issue as the reason for limiting tests to amd64: 'Limiting to amd64 is a workaround for https://github.com/canonical/charmcraft/issues/2018. Once that's resolved we should run fast and slow tests on ARM64 Ubuntu too.' This is a maintainer acknowledgement that the issue is valid and still relevant, and the failing tests in tests/integration/services/test_package.py still exist. It is a genuine test-infrastructure bug, not a support request, and remains unresolved.

Impact: 35 Quick Win: 21.0 Staleness: 55 Complexity: 40 Confidence: 78 Support Request: 5

Issue body

### Bug Description We have 'amd64' hardcoded in some of the package service integration tests that cause them to fail on other architectures. ### To Reproduce https://github.com/canonical/charmcraft/actions/runs/12205703353/job/34053604513?pr=2015 ### Environment Canonical hosted GH CI, arm64 ### charmcraft.yaml ```yaml n/a ``` ### Relevant log output ```shell =========================== short test summary info ============================ FAILED tests/integration/commands/test_pack.py::test_build_basic_charm[platforms-jammy-charm] - IndexError: list index out of range FAILED tests/integration/services/test_package.py::test_write_metadata[complex-legacy] - RuntimeError: Could not determine run-on bases. FAILED tests/integration/services/test_package.py::test_write_metadata[basic] - check charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - arm64 analysis: attributes: - name: language result: unknown - name: framework result: unknown == charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - amd64 analysis: attributes: - name: language result: unknown - name: framework result: unknown test_package.py:69 in test_write_metadata() -> pytest_check.equal((test_prime_dir / file.name).read_text(), file.read_text()) ------------------------------------------------------------ Failed Checks: 1 FAILED tests/integration/services/test_package.py::test_write_metadata[complex-self-contained] - RuntimeError: Could not determine run-on bases. FAILED tests/integration/services/test_package.py::test_write_metadata[basic-reactive] - check charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - arm64 analysis: attributes: - name: language result: unknown - name: framework result: unknown == charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - amd64 analysis: attributes: - name: language result: unknown - name: framework result: unknown test_package.py:69 in test_write_metadata() -> pytest_check.equal((test_prime_dir / file.name).read_text(), file.read_text()) ------------------------------------------------------------ Failed Checks: 1 FAILED tests/integration/services/test_package.py::test_overwrite_metadata[complex-legacy] - RuntimeError: Could not determine run-on bases. FAILED tests/integration/services/test_package.py::test_overwrite_metadata[basic] - check charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - arm64 analysis: attributes: - name: language result: unknown - name: framework result: unknown == charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - amd64 analysis: attributes: - name: language result: unknown - name: framework result: unknown test_package.py:103 in test_overwrite_metadata() -> pytest_check.equal((test_prime_dir / file.name).read_text(), file.read_text()) ------------------------------------------------------------ Failed Checks: 1 FAILED tests/integration/services/test_package.py::test_overwrite_metadata[complex-self-contained] - RuntimeError: Could not determine run-on bases. FAILED tests/integration/services/test_package.py::test_overwrite_metadata[basic-reactive] - check charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - arm64 analysis: attributes: - name: language result: unknown - name: framework result: unknown == charmcraft-version: 3.0-test-version charmcraft-started-at: '2020-03-14T00:00:00+00:00' bases: - name: ubuntu channel: '22.04' architectures: - amd64 analysis: attributes: - name: language result: unknown - name: framework result: unknown test_package.py:103 in test_overwrite_metadata() -> pytest_check.equal((test_prime_dir / file.name).read_text(), file.read_text()) ------------------------------------------------------------ Failed Checks: 1 = 9 failed, 2398 passed, 1 skipped, 20 deselected, 1 xfailed, 2078 warnings in 54.37s = ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 21.0
Staleness: 55
Complexity: 40
Confidence: 78
Support Request: 5
keep open Package service integration tests hardcode amd64, causing failures on arm64 CI. Still open; QA workflow limits tests to amd64 as a workaround referencing this issue. No fix merged yet.
qwen/qwen3.6-35b-a3b
Staleness: 90
Complexity: 30
Confidence: 85
Support Request: 5
needs triage Integration tests fail on non-amd64 architectures due to hardcoded amd64 values. Open for over a year with no maintainer response, labels, or assignee.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 25
Confidence: 80
Support Request: 5
needs triage Integration tests for the package service fail on non-amd64 architectures due to hardcoded amd64 references. Open for over a year with no maintainer triage or follow-up beyond an automated Jira sync.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 30
Confidence: 80
Support Request: 5
needs triage Package service integration tests fail on non-amd64 architectures due to hardcoded amd64 references. Open for over a year with no maintainer labels or direct responses, only a Jira sync bot comment.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 20
Confidence: 85
Support Request: 5
needs triage Package service integration tests fail on non-amd64 architectures due to hardcoded amd64 expectations. Open, unassigned, unlabelled, 304 days inactive. Requires updating test fixtures to dynamically detect architectures for multi-arch CI.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/charmcraft#2151 (confidence 55%)

    A related non-amd64 fix (bash completion path) was merged, showing maintainers address arch-specific issues, but it does not fix this test hardcoding.

Related issues

Issue Project State Summary Similarity
#144 Some tests fail on arm64 craft-archives closed Closed without resolution. Tests fail on arm64 due to hard-coded amd64 architecture in expected values. No fix or merge was provided, leaving the issue abandoned.
75%
#1255 Make tests platform-agnostic craft-parts open Tests have hardcoded amd64 strings preventing execution on other architectures. CI runners for arm/s390x/ppc64el have been added, but 45 hardcoded amd64 references remain in test files. Triaged, no recent activity in ~12 months.
70%