From 53bd4d93471420ce5f40ef216ec04de3975eff1b Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sat, 1 Oct 2022 22:01:08 +0200 Subject: [PATCH] Add `i686` support --- .github/workflows/test.yml | 2 ++ Dockerfiles/Dockerfile.i686.alpine_latest | 5 +++++ Dockerfiles/Dockerfile.i686.bullseye | 5 +++++ Dockerfiles/Dockerfile.i686.buster | 5 +++++ Dockerfiles/Dockerfile.i686.jessie | 5 +++++ Dockerfiles/Dockerfile.i686.stretch | 5 +++++ ...file.x86_64.fedora_latest => Dockerfile.i686.ubuntu16.04} | 3 ++- ...erfile.x86_64.ubuntu22.04 => Dockerfile.i686.ubuntu18.04} | 3 ++- Dockerfiles/Dockerfile.i686.ubuntu_latest | 5 +++++ README.md | 5 +++-- action.yml | 2 +- 11 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 Dockerfiles/Dockerfile.i686.alpine_latest create mode 100644 Dockerfiles/Dockerfile.i686.bullseye create mode 100644 Dockerfiles/Dockerfile.i686.buster create mode 100644 Dockerfiles/Dockerfile.i686.jessie create mode 100644 Dockerfiles/Dockerfile.i686.stretch rename Dockerfiles/{Dockerfile.x86_64.fedora_latest => Dockerfile.i686.ubuntu16.04} (72%) rename Dockerfiles/{Dockerfile.x86_64.ubuntu22.04 => Dockerfile.i686.ubuntu18.04} (72%) create mode 100644 Dockerfiles/Dockerfile.i686.ubuntu_latest diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ca61cba0..c3d23a2d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,8 @@ jobs: distro: archarm_latest - arch: aarch64 distro: fedora_latest + - arch: i686 + distro: ubuntu18.04 - arch: ppc64le distro: alpine_latest - arch: x86_64 diff --git a/Dockerfiles/Dockerfile.i686.alpine_latest b/Dockerfiles/Dockerfile.i686.alpine_latest new file mode 100644 index 00000000..3b01e690 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.alpine_latest @@ -0,0 +1,5 @@ +FROM i386/alpine:latest + +COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh +RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.i686.bullseye b/Dockerfiles/Dockerfile.i686.bullseye new file mode 100644 index 00000000..017ac322 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.bullseye @@ -0,0 +1,5 @@ +FROM i386/debian:bullseye + +COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh +RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.i686.buster b/Dockerfiles/Dockerfile.i686.buster new file mode 100644 index 00000000..d204520d --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.buster @@ -0,0 +1,5 @@ +FROM i386/debian:buster + +COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh +RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.i686.jessie b/Dockerfiles/Dockerfile.i686.jessie new file mode 100644 index 00000000..c121f4c7 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.jessie @@ -0,0 +1,5 @@ +FROM i386/debian:jessie + +COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh +RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.i686.stretch b/Dockerfiles/Dockerfile.i686.stretch new file mode 100644 index 00000000..7a22df94 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.stretch @@ -0,0 +1,5 @@ +FROM i386/debian:stretch + +COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh +RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.x86_64.fedora_latest b/Dockerfiles/Dockerfile.i686.ubuntu16.04 similarity index 72% rename from Dockerfiles/Dockerfile.x86_64.fedora_latest rename to Dockerfiles/Dockerfile.i686.ubuntu16.04 index 6fb0ac25..b20461ca 100644 --- a/Dockerfiles/Dockerfile.x86_64.fedora_latest +++ b/Dockerfiles/Dockerfile.i686.ubuntu16.04 @@ -1,4 +1,5 @@ -FROM amd64/fedora:latest +FROM i386/ubuntu:16.04 COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu22.04 b/Dockerfiles/Dockerfile.i686.ubuntu18.04 similarity index 72% rename from Dockerfiles/Dockerfile.x86_64.ubuntu22.04 rename to Dockerfiles/Dockerfile.i686.ubuntu18.04 index f54d87d0..aa5987dc 100644 --- a/Dockerfiles/Dockerfile.x86_64.ubuntu22.04 +++ b/Dockerfiles/Dockerfile.i686.ubuntu18.04 @@ -1,4 +1,5 @@ -FROM amd64/ubuntu:22.04 +FROM i386/ubuntu:18.04 COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/Dockerfiles/Dockerfile.i686.ubuntu_latest b/Dockerfiles/Dockerfile.i686.ubuntu_latest new file mode 100644 index 00000000..7a040118 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu_latest @@ -0,0 +1,5 @@ +FROM i386/ubuntu:latest + +COPY ./run-on-arch-install.sh /root/run-on-arch-install.sh +RUN chmod +x /root/run-on-arch-install.sh && /root/run-on-arch-install.sh +ENTRYPOINT ["linux32", "--"] diff --git a/README.md b/README.md index a7c8dde1..28e65cfe 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ A GitHub Action that executes commands on non-x86 CPU architecture (armv6, armv7 This action requires three input parameters: -* `arch`: CPU architecture: `armv6`, `armv7`, `aarch64`, `riscv64`, `s390x`, `ppc64le`, or `x86_64`. See [Supported Platforms](#supported-platforms) for the full matrix. +* `arch`: CPU architecture: `armv6`, `armv7`, `aarch64`, `i686`, `riscv64`, `s390x`, `ppc64le`, or `x86_64`. See [Supported Platforms](#supported-platforms) for the full matrix. * `distro`: Linux distribution name: `ubuntu16.04`, `ubuntu18.04`, `ubuntu20.04`, `bullseye`, `buster`, `stretch`, `jessie`, `fedora_latest`, `alpine_latest` or `archarm_latest`. See [Supported Platforms](#supported-platforms) for the full matrix. * `run`: Shell commands to execute in the container. @@ -155,10 +155,11 @@ This table details the valid `arch`/`distro` combinations: | armv6 | jessie, stretch, buster, bullseye, alpine_latest | | armv7 | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest, archarm_latest | | aarch64 | stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest, archarm_latest | +| i686 | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu_latest, alpine_latest | | riscv64 | ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, alpine_edge | | s390x | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest | | ppc64le | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04,ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest | -| x86_64 | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest | +| x86_64 | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest | Using an invalid `arch`/`distro` combination will fail. diff --git a/action.yml b/action.yml index f4209dcc..87e93e0c 100644 --- a/action.yml +++ b/action.yml @@ -6,7 +6,7 @@ description: "Run commands in a Linux container with a specific CPU architecture author: "Umberto Raimondi, Elijah Shaw-Rutschman" inputs: arch: - description: "CPU architecture: armv6, armv7, aarch64, riscv64, s390x, ppc64le, x86_64." + description: "CPU architecture: armv6, armv7, aarch64, i686, riscv64, s390x, ppc64le, x86_64." required: false default: "aarch64" distro: