diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a2bc5ccd..c3d23a2d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,8 +15,12 @@ jobs: distro: archarm_latest - arch: aarch64 distro: fedora_latest + - arch: i686 + distro: ubuntu18.04 - arch: ppc64le distro: alpine_latest + - arch: x86_64 + distro: ubuntu_latest - arch: armv6 distro: buster - arch: armv7 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.i686.ubuntu16.04 b/Dockerfiles/Dockerfile.i686.ubuntu16.04 new file mode 100644 index 00000000..b20461ca --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu16.04 @@ -0,0 +1,5 @@ +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.i686.ubuntu18.04 b/Dockerfiles/Dockerfile.i686.ubuntu18.04 new file mode 100644 index 00000000..aa5987dc --- /dev/null +++ b/Dockerfiles/Dockerfile.i686.ubuntu18.04 @@ -0,0 +1,5 @@ +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/Dockerfiles/Dockerfile.x86_64.alpine_latest b/Dockerfiles/Dockerfile.x86_64.alpine_latest new file mode 100644 index 00000000..2fdc81c1 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.alpine_latest @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.bullseye b/Dockerfiles/Dockerfile.x86_64.bullseye new file mode 100644 index 00000000..e5a4b762 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.bullseye @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.buster b/Dockerfiles/Dockerfile.x86_64.buster new file mode 100644 index 00000000..4dfa96da --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.buster @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.jessie b/Dockerfiles/Dockerfile.x86_64.jessie new file mode 100644 index 00000000..c61cd232 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.jessie @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.stretch b/Dockerfiles/Dockerfile.x86_64.stretch new file mode 100644 index 00000000..ce73d854 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.stretch @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu16.04 b/Dockerfiles/Dockerfile.x86_64.ubuntu16.04 new file mode 100644 index 00000000..f396d892 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.ubuntu16.04 @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu18.04 b/Dockerfiles/Dockerfile.x86_64.ubuntu18.04 new file mode 100644 index 00000000..e20895c8 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.ubuntu18.04 @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu20.04 b/Dockerfiles/Dockerfile.x86_64.ubuntu20.04 new file mode 100644 index 00000000..4fe2d29b --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.ubuntu20.04 @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu_devel b/Dockerfiles/Dockerfile.x86_64.ubuntu_devel new file mode 100644 index 00000000..ba3416f9 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.ubuntu_devel @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu_latest b/Dockerfiles/Dockerfile.x86_64.ubuntu_latest new file mode 100644 index 00000000..d8a78357 --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.ubuntu_latest @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/Dockerfiles/Dockerfile.x86_64.ubuntu_rolling b/Dockerfiles/Dockerfile.x86_64.ubuntu_rolling new file mode 100644 index 00000000..c643d78c --- /dev/null +++ b/Dockerfiles/Dockerfile.x86_64.ubuntu_rolling @@ -0,0 +1,4 @@ +FROM amd64/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 diff --git a/README.md b/README.md index b7a11630..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`, or `ppc64le`. 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,9 +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 | Using an invalid `arch`/`distro` combination will fail. diff --git a/action.yml b/action.yml index 28c83a0f..3dcbc684 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.' + description: 'CPU architecture: armv6, armv7, aarch64, i686, riscv64, s390x, ppc64le, x86_64.' required: false default: 'aarch64' distro: