Skip to content

Update

Update #19

Workflow file for this run

name: Test Cross Platform
# Controls when the action will run.
on:
push:
branches:
- full-integ
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
# Set an environment variables for the workflow
env:
UV_HTTP_TIMEOUT: 300
PIP_DISABLE_PIP_VERSION_CHECK: 1
# Define the jobs that run in the workflow
jobs:
integ-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
architecture:
- platform: linux/amd64
tag: linux-amd64
#arch: ubuntu
arch: docker.io/nazq/cross-rye-py-runner:latest
artifact-arch: x86_64-unknown-linux-gnu
- platform: linux/arm64
tag: linux-arm64
#arch: arm64v8/ubuntu
arch: docker.io/nazq/cross-rye-py-runner:latest
artifact-arch: aarch64-unknown-linux-gnu
- platform: linux/ppc64le
tag: linux-ppc64le
#arch: ppc64le/ubuntu
arch: docker.io/nazq/cross-rye-py-runner:latest
artifact-arch: powerpc64le-unknown-linux-gnu
- platform: linux/s390x
tag: linux-s390x
#arch: s390x/ubuntu
arch: docker.io/nazq/cross-rye-py-runner:latest
artifact-arch: s390x-unknown-linux-gnu
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-docker-${{ matrix.architecture.platform }}
restore-keys: |
${{ runner.os }}-docker-${{ matrix.architecture.platform }}-
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
with:
install: true
- name: init QEMU
run: |
ls -al /proc/sys/fs/binfmt_misc
for entry in /proc/sys/fs/binfmt_misc/qemu-*; do
if [ "$(basename "$entry")" != "status" ]; then
if [ -r "$entry" ]; then
echo "Contents of $entry:"
cat "$entry"
echo
else
echo "Skipping $entry: Permission denied"
fi
fi
echo
done
- name: Test mainline
run: |
docker pull tonistiigi/binfmt || true
docker run --rm --privileged tonistiigi/binfmt --install all
ls -al /proc/sys/fs/binfmt_misc
for entry in /proc/sys/fs/binfmt_misc/qemu-*; do
if [ "$(basename "$entry")" != "status" ]; then
if [ -r "$entry" ]; then
echo "Contents of $entry:"
cat "$entry"
echo
else
echo "Skipping $entry: Permission denied"
fi
fi
echo
done
docker pull docker.io/${{ matrix.architecture.arch }} || true
DOCKER_CMD="docker run --rm --platform=${{ matrix.architecture.platform }} ${{ matrix.architecture.arch }} sh -c 'echo && uname -a && echo'"
echo "DOCKER_CMD: $DOCKER_CMD"
eval $DOCKER_CMD
shell: bash
#docker run --rm arm64v8/alpine sh -c "uname -a && echo"
#docker run --rm arm32v7/alpine sh -c "uname -a && echo"
#docker run --rm ppc64le/alpine sh -c "uname -a && echo"
#docker run --rm s390x/alpine sh -c "uname -a && echo"
#docker run --rm tonistiigi/debian:riscv sh -c "uname -a && echo"
#docker run --rm --platform=linux/s390x s390x/ubuntu sh -c "uname -a && echo"
#docker run --rm --platform=linux/ppc64le ppc64le/ubuntu sh -c "uname -a && echo"