diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9d7a4a3a..da0b87a8 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: ubuntu_rolling - 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.fedora_latest b/Dockerfiles/Dockerfile.i686.fedora_latest new file mode 100644 index 00000000..471b91f7 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.fedora_latest @@ -0,0 +1,5 @@ +FROM i386/fedora: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.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.ubuntu20.04 b/Dockerfiles/Dockerfile.i686.ubuntu20.04 new file mode 100644 index 00000000..c9f13cf0 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu20.04 @@ -0,0 +1,5 @@ +FROM i386/ubuntu:20.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.ubuntu22.04 b/Dockerfiles/Dockerfile.i686.ubuntu22.04 new file mode 100644 index 00000000..39bca73e --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu22.04 @@ -0,0 +1,5 @@ +FROM i386/ubuntu:22.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_devel b/Dockerfiles/Dockerfile.i686.ubuntu_devel new file mode 100644 index 00000000..4becf134 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu_devel @@ -0,0 +1,5 @@ +FROM i386/ubuntu:devel + +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/Dockerfiles/Dockerfile.i686.ubuntu_rolling b/Dockerfiles/Dockerfile.i686.ubuntu_rolling new file mode 100644 index 00000000..e3e4b347 --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu_rolling @@ -0,0 +1,5 @@ +FROM i386/ubuntu:rolling + +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 6ff5de8a..2feb1f1b 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`, `s390x`, `ppc64le`, or `x86_64`. See [Supported Platforms](#supported-platforms) for the full matrix. +* `arch`: CPU architecture: `armv6`, `armv7`, `aarch64`, `i686`, `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. @@ -152,9 +152,10 @@ 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, ubuntu20.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, alpine_latest | | 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 d5ed318c..ca95a18c 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, s390x, ppc64le, x86_64.' + description: 'CPU architecture: armv6, armv7, aarch64, i686, s390x, ppc64le, x86_64.' required: false default: 'aarch64' distro: