Skip to content

ci: Prevent matrix jobs relying on QEMU from cancelling other jobs#171

Open
polarathene wants to merge 2 commits intosunfishcode:mainfrom
polarathene:patch-2
Open

ci: Prevent matrix jobs relying on QEMU from cancelling other jobs#171
polarathene wants to merge 2 commits intosunfishcode:mainfrom
polarathene:patch-2

Conversation

@polarathene
Copy link
Contributor

@polarathene polarathene commented Feb 25, 2026

Related: #170


This change should safeguard against the aarch64/riscv64 QEMU targets triggering a failure on the x86_64/i686 non-QEMU targets.

  • A recent run had cancelled the i686 target, I'm not sure how likely it would be for the x86_64 target job to be cancelled.
  • I have observed that pull request test runs were not introducing such failures, while commits pushed to main (including merged PRs) were. PRs can inherit cache from the main branch, but not the other way around. Doesn't seem to be relevant as this step that restores QEMU cache (if not expired/evicted) was not successful at finding cache in any of the referenced CI runs.

EDIT: Switched to fail-fast: false instead of continue-on-error: <condition> (which may not propagate the failure of a test job).

A better use of resources would be to run the native target on the runner first, then have the matrix for other targets that rely upon QEMU to depend on the first target passing. However you'd still get a similar issue of one QEMU reliant job failure canceling the others without a change like this.

fail-fast: false should ensure that all matrix jobs run to completion without triggering a cancel to all other matrix jobs when encountering a failure. That should then still communicate a failure of the workflow, but without the canceled jobs.

If the failure is related to QEMU, there isn't much we can easily do to differentiate that from the project's own tests failing which I assume still have some relevance 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant