From 5fc61709f335ff1c8855f62e5e4afe321c948b94 Mon Sep 17 00:00:00 2001 From: George Adams Date: Wed, 21 Dec 2022 12:53:58 +0000 Subject: [PATCH] add riscv64 support --- .github/workflows/advanced-example.yml | 2 ++ .github/workflows/test.yml | 2 ++ Dockerfiles/Dockerfile.riscv64.alpine_latest | 4 ++++ Dockerfiles/Dockerfile.riscv64.ubuntu20.04 | 4 ++++ Dockerfiles/Dockerfile.riscv64.ubuntu22.04 | 4 ++++ Dockerfiles/Dockerfile.riscv64.ubuntu_devel | 4 ++++ Dockerfiles/Dockerfile.riscv64.ubuntu_latest | 4 ++++ Dockerfiles/Dockerfile.riscv64.ubuntu_rolling | 4 ++++ README.md | 5 +++-- action.yml | 2 +- 10 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 Dockerfiles/Dockerfile.riscv64.alpine_latest create mode 100644 Dockerfiles/Dockerfile.riscv64.ubuntu20.04 create mode 100644 Dockerfiles/Dockerfile.riscv64.ubuntu22.04 create mode 100644 Dockerfiles/Dockerfile.riscv64.ubuntu_devel create mode 100644 Dockerfiles/Dockerfile.riscv64.ubuntu_latest create mode 100644 Dockerfiles/Dockerfile.riscv64.ubuntu_rolling diff --git a/.github/workflows/advanced-example.yml b/.github/workflows/advanced-example.yml index 93842b57..5a707dae 100644 --- a/.github/workflows/advanced-example.yml +++ b/.github/workflows/advanced-example.yml @@ -15,6 +15,8 @@ jobs: distro: ubuntu18.04 - arch: ppc64le distro: alpine_latest + - arch: risv64 + distro: ubuntu_latest - arch: s390x distro: fedora_latest - arch: armv7 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bfb5dec3..e95a5876 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -21,6 +21,8 @@ jobs: distro: buster - arch: armv7 distro: jessie + - arch: riscv64 + distro: ubuntu20.04 - arch: s390x distro: stretch - arch: armv7 diff --git a/Dockerfiles/Dockerfile.riscv64.alpine_latest b/Dockerfiles/Dockerfile.riscv64.alpine_latest new file mode 100644 index 00000000..22bdae72 --- /dev/null +++ b/Dockerfiles/Dockerfile.riscv64.alpine_latest @@ -0,0 +1,4 @@ +FROM riscv64/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.riscv64.ubuntu20.04 b/Dockerfiles/Dockerfile.riscv64.ubuntu20.04 new file mode 100644 index 00000000..2a862e3b --- /dev/null +++ b/Dockerfiles/Dockerfile.riscv64.ubuntu20.04 @@ -0,0 +1,4 @@ +FROM riscv64/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.riscv64.ubuntu22.04 b/Dockerfiles/Dockerfile.riscv64.ubuntu22.04 new file mode 100644 index 00000000..13987d24 --- /dev/null +++ b/Dockerfiles/Dockerfile.riscv64.ubuntu22.04 @@ -0,0 +1,4 @@ +FROM riscv64/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 diff --git a/Dockerfiles/Dockerfile.riscv64.ubuntu_devel b/Dockerfiles/Dockerfile.riscv64.ubuntu_devel new file mode 100644 index 00000000..3a843a69 --- /dev/null +++ b/Dockerfiles/Dockerfile.riscv64.ubuntu_devel @@ -0,0 +1,4 @@ +FROM riscv64/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.riscv64.ubuntu_latest b/Dockerfiles/Dockerfile.riscv64.ubuntu_latest new file mode 100644 index 00000000..75c8e654 --- /dev/null +++ b/Dockerfiles/Dockerfile.riscv64.ubuntu_latest @@ -0,0 +1,4 @@ +FROM riscv64/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.riscv64.ubuntu_rolling b/Dockerfiles/Dockerfile.riscv64.ubuntu_rolling new file mode 100644 index 00000000..def1fb7b --- /dev/null +++ b/Dockerfiles/Dockerfile.riscv64.ubuntu_rolling @@ -0,0 +1,4 @@ +FROM riscv64/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 d62b7c0e..8042b696 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`, or `ppc64le`. See [Supported Platforms](#supported-platforms) for the full matrix. +* `arch`: CPU architecture: `armv6`, `armv7`, `aarch64`, `riscv64`, `s390x`, or `ppc64le`. 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,7 +152,8 @@ 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 | -| s390x | jessie, stretch, buster, bullseye, ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest | +| riscv64 | jessie, stretch, buster, bullseye, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, fedora_latest, alpine_latest | +| s390x | ubuntu16.04, ubuntu18.04, ubuntu20.04, ubuntu22.04, ubuntu_latest, ubuntu_rolling, ubuntu_devel, 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 | diff --git a/action.yml b/action.yml index b292b91d..ff1ae705 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.' + description: 'CPU architecture: armv6, armv7, aarch64, riscv64, s390x, ppc64le.' required: false default: 'aarch64' distro: