Add dependency for generating debian file#15
Merged
igorpecovnik merged 1 commit intomainfrom Dec 6, 2023
Merged
Conversation
igorpecovnik
added a commit
that referenced
this pull request
Apr 18, 2026
Add riscv64 to the arches the matrix generator knows about, mapped
to the GH-hosted 'ubuntu-24.04-riscv' runner (self-hosted pool has
no riscv64 host yet). The runner value is emitted as a JSON string
literal for riscv64 vs JSON arrays for amd64/arm64 — runs-on:
${{ matrix.server.runner }} accepts either form.
No change to test .conf defaults: TESTARCH="arm64,amd64" stays,
so existing tests don't auto-pick riscv64. Tests that want riscv64
coverage opt in by editing TESTARCH to e.g.
"arm64,amd64,riscv64" — same pattern as RELEASE.
Prerequisite: ghcr.io/armbian/repository-update:<release>-riscv64
tags must exist. armbian/docker-armbian-build PR #15 (pending)
adds riscv64 to the image-build matrix; until that lands, any
riscv64 unit-test job will fail to pull its container image.
igorpecovnik
added a commit
that referenced
this pull request
Apr 18, 2026
Add riscv64 to the arches the matrix generator knows about, mapped
to the GH-hosted 'ubuntu-24.04-riscv' runner (self-hosted pool has
no riscv64 host yet). The runner value is emitted as a JSON string
literal for riscv64 vs JSON arrays for amd64/arm64 — runs-on:
${{ matrix.server.runner }} accepts either form.
No change to test .conf defaults: TESTARCH="arm64,amd64" stays,
so existing tests don't auto-pick riscv64. Tests that want riscv64
coverage opt in by editing TESTARCH to e.g.
"arm64,amd64,riscv64" — same pattern as RELEASE.
Prerequisite: ghcr.io/armbian/repository-update:<release>-riscv64
tags must exist. armbian/docker-armbian-build PR #15 (pending)
adds riscv64 to the image-build matrix; until that lands, any
riscv64 unit-test job will fail to pull its container image.
igorpecovnik
added a commit
that referenced
this pull request
Apr 18, 2026
Extend the unit-test matrix with two foreign-arch slots and a
new per-arch 'emulation' field that routes each matrix entry to
one of two gradle jobs:
emulation="" → gradle-native (runs inside the
release-/arch-specific
repository-update container,
systemd PID-N, as today);
emulation="linux/<arch>" → gradle-emulated (no job-level
'container:' — runs on the amd64
self-hosted host, uses
docker/setup-qemu-action + an
explicit `docker run --platform`
to launch the arch-specific image
under qemu-user-static).
The emulated path deliberately avoids GH's job-level container
key for two reasons:
1. GHA mounts the host's Node.js into the container at
/__e/node{N}/. The host binary is amd64; Node-based actions
(checkout, upload-artifact) fail to exec inside an
armhf/riscv64 container. Running the actions on the host
and docker-running only the test body sidesteps that.
2. systemd PID-1 under qemu-user is flaky (syscall gaps);
most module_* tests don't actually need PID-1 systemd and
we can just skip the Initialize-systemd step there.
Matrix generator gains an emulation_for_arch map and splits the
flat matrix into two GITHUB_OUTPUT values
(DEPLOYMENT_MATRIX_NATIVE / _EMULATED). The original flat
DEPLOYMENT_MATRIX output is gone; if some external workflow
consumed it, rewire to the new names.
Timeout on emulated jobs bumped to 180 min — qemu-user is
typically 10–20× slower than native.
Arch readiness:
armhf — docker-armbian-build doesn't publish armhf image
tags yet (explicit skip in its matrix). The 'docker
pull' step will fail fast if a test opts in before
those tags exist. Enable in docker-armbian-build as
a separate PR.
riscv64 — images come from docker-armbian-build PR #15 (the
riscv64 enablement). Merges in lockstep.
No test .conf is changed — every existing TESTARCH value stays
as today. Opt a test into emulated coverage by editing its
TESTARCH to include 'armhf' and/or 'riscv64' once the matching
images exist.
igorpecovnik
added a commit
that referenced
this pull request
Apr 18, 2026
Extend the unit-test matrix with two foreign-arch slots and a
new per-arch 'emulation' field that routes each matrix entry to
one of two gradle jobs:
emulation="" → gradle-native (runs inside the
release-/arch-specific
repository-update container,
systemd PID-N, as today);
emulation="linux/<arch>" → gradle-emulated (no job-level
'container:' — runs on the amd64
self-hosted host, uses
docker/setup-qemu-action + an
explicit `docker run --platform`
to launch the arch-specific image
under qemu-user-static).
The emulated path deliberately avoids GH's job-level container
key for two reasons:
1. GHA mounts the host's Node.js into the container at
/__e/node{N}/. The host binary is amd64; Node-based actions
(checkout, upload-artifact) fail to exec inside an
armhf/riscv64 container. Running the actions on the host
and docker-running only the test body sidesteps that.
2. systemd PID-1 under qemu-user is flaky (syscall gaps);
most module_* tests don't actually need PID-1 systemd and
we can just skip the Initialize-systemd step there.
Matrix generator gains an emulation_for_arch map and splits the
flat matrix into two GITHUB_OUTPUT values
(DEPLOYMENT_MATRIX_NATIVE / _EMULATED). The original flat
DEPLOYMENT_MATRIX output is gone; if some external workflow
consumed it, rewire to the new names.
Timeout on emulated jobs bumped to 180 min — qemu-user is
typically 10–20× slower than native.
Arch readiness:
armhf — docker-armbian-build doesn't publish armhf image
tags yet (explicit skip in its matrix). The 'docker
pull' step will fail fast if a test opts in before
those tags exist. Enable in docker-armbian-build as
a separate PR.
riscv64 — images come from docker-armbian-build PR #15 (the
riscv64 enablement). Merges in lockstep.
No test .conf is changed — every existing TESTARCH value stays
as today. Opt a test into emulated coverage by editing its
TESTARCH to include 'armhf' and/or 'riscv64' once the matching
images exist.
igorpecovnik
added a commit
that referenced
this pull request
Apr 19, 2026
Extend the unit-test matrix with two foreign-arch slots and a
new per-arch 'emulation' field that routes each matrix entry to
one of two gradle jobs:
emulation="" → gradle-native (runs inside the
release-/arch-specific
repository-update container,
systemd PID-N, as today);
emulation="linux/<arch>" → gradle-emulated (no job-level
'container:' — runs on the amd64
self-hosted host, uses
docker/setup-qemu-action + an
explicit `docker run --platform`
to launch the arch-specific image
under qemu-user-static).
The emulated path deliberately avoids GH's job-level container
key for two reasons:
1. GHA mounts the host's Node.js into the container at
/__e/node{N}/. The host binary is amd64; Node-based actions
(checkout, upload-artifact) fail to exec inside an
armhf/riscv64 container. Running the actions on the host
and docker-running only the test body sidesteps that.
2. systemd PID-1 under qemu-user is flaky (syscall gaps);
most module_* tests don't actually need PID-1 systemd and
we can just skip the Initialize-systemd step there.
Matrix generator gains an emulation_for_arch map and splits the
flat matrix into two GITHUB_OUTPUT values
(DEPLOYMENT_MATRIX_NATIVE / _EMULATED). The original flat
DEPLOYMENT_MATRIX output is gone; if some external workflow
consumed it, rewire to the new names.
Timeout on emulated jobs bumped to 180 min — qemu-user is
typically 10–20× slower than native.
Arch readiness:
armhf — docker-armbian-build doesn't publish armhf image
tags yet (explicit skip in its matrix). The 'docker
pull' step will fail fast if a test opts in before
those tags exist. Enable in docker-armbian-build as
a separate PR.
riscv64 — images come from docker-armbian-build PR #15 (the
riscv64 enablement). Merges in lockstep.
No test .conf is changed — every existing TESTARCH value stays
as today. Opt a test into emulated coverage by editing its
TESTARCH to include 'armhf' and/or 'riscv64' once the matching
images exist.
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.
No description provided.