diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 4cd84f6f54fe..bb4ed3d8a09e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -151,7 +151,7 @@ jobs: ci-checks: needs: [generate-matrix] - runs-on: ubuntu-latest + runs-on: ${{matrix.runner}} env: TAP_DRIVER_QUIET: 1 FLUX_TEST_TIMEOUT: 300 @@ -211,10 +211,6 @@ jobs: uses: docker/setup-buildx-action@v3 if: matrix.needs_buildx - - name: setup qemu-user-static - run: | - docker run --rm --privileged aptman/qus -s -- -p --credential aarch64 - - name: docker-run-checks timeout-minutes: ${{matrix.timeout_minutes}} env: ${{matrix.env}} diff --git a/src/test/docker/README.md b/src/test/docker/README.md index 49b50ad89423..56a454776f9b 100644 --- a/src/test/docker/README.md +++ b/src/test/docker/README.md @@ -65,8 +65,8 @@ Docker buildx extensions, see and run ``` -$ docker buildx build --push --platform=linux/arm64,linux/amd64 --tag fluxrm/testenv:jammy src/test/docker/jammy -$ docker buildx build --push --platform=linux/386,linux/amd64,linux/arm64 --tag fluxrm/testenv:bookworm src/test/docker/bookworm +$ docker buildx build --push --platform=linux/arm64,linux/amd64 --tag fluxrm/testenv:jammy -f src/test/docker/jammy/Dockerfile . +$ docker buildx build --push --platform=linux/386,linux/amd64,linux/arm64 --tag fluxrm/testenv:bookworm -f src/test/docker/bookworm/Dockerfile . ``` to build and push images to docker hub. diff --git a/src/test/generate-matrix.py b/src/test/generate-matrix.py index 8cd084219643..12f23c36d582 100755 --- a/src/test/generate-matrix.py +++ b/src/test/generate-matrix.py @@ -31,8 +31,9 @@ def on_master_or_tag(matrix): "suffix": " - arm64", "command_args": "--install-only ", "timeout_minutes": 90, + "runner": "ubuntu-24.04-arm", }, - "linux/amd64": {"when": lambda _: True}, + "linux/amd64": {"when": lambda _: True, "runner": "ubuntu-latest"}, } @@ -94,6 +95,7 @@ def add_build( platform=None, command_args="", timeout_minutes=60, + runner="ubuntu-latest", ): """Add a build to the matrix.include array""" @@ -144,6 +146,7 @@ def add_build( "env": env, "command": command, "image": image, + "runner": runner, "tag": self.tag, "branch": self.branch, "coverage": coverage, @@ -175,6 +178,7 @@ def add_multiarch_build( image=image if image is not None else name, command_args=args.get("command_args", ""), timeout_minutes=args.get("timeout_minutes", 30), + runner=args["runner"], **kwargs, ) @@ -189,7 +193,11 @@ def __str__(self): # Multi-arch builds, arm only builds on bookworm_platforms = deepcopy(DEFAULT_MULTIARCH_PLATFORMS) -bookworm_platforms["linux/386"] = {"when": lambda _: True, "suffix": " - 32 bit"} +bookworm_platforms["linux/386"] = { + "when": lambda _: True, + "suffix": " - 32 bit", + "runner": "ubuntu-latest", +} common_args = ( "--prefix=/usr" " --sysconfdir=/etc" @@ -231,17 +239,15 @@ def __str__(self): TEST_INSTALL="t", ), ) -# single arch builds that still produce a container -matrix.add_build( - name="fedora40 - test-install", - image="fedora40", +matrix.add_multiarch_build( + name="fedora40", + default_suffix=" - test-install", args=common_args, env=dict( TEST_INSTALL="t", ), - docker_tag=True, ) - +# single arch builds that still produce a container # Ubuntu: TEST_INSTALL matrix.add_build( name="jammy - test-install", diff --git a/t/t0016-cron-faketime.t b/t/t0016-cron-faketime.t index 14bed65ff1e8..b27c2e05e71c 100755 --- a/t/t0016-cron-faketime.t +++ b/t/t0016-cron-faketime.t @@ -8,6 +8,11 @@ if ! test_have_prereq NO_ASAN; then test_done fi +if test "$(uname -m)" = "aarch64" ; then + skip_all='skipping faketime cron tests on aarch64' + test_done +fi + # allow libfaketime to be found on ubuntu, centos if test -d /usr/lib/x86_64-linux-gnu/faketime ; then export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/faketime"