From 8b93c1b8485f994372d1c733aa192389e539329c Mon Sep 17 00:00:00 2001 From: Shish Date: Tue, 7 May 2024 11:56:39 +0100 Subject: [PATCH] [pypy] devkit --- .docker/pypy.dockerfile | 14 ++++++++++++++ .github/workflows/devkit-pypy.yml | 28 ++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 .docker/pypy.dockerfile create mode 100644 .github/workflows/devkit-pypy.yml diff --git a/.docker/pypy.dockerfile b/.docker/pypy.dockerfile new file mode 100644 index 0000000..2b485df --- /dev/null +++ b/.docker/pypy.dockerfile @@ -0,0 +1,14 @@ +FROM debian:unstable AS build +ARG TARGETPLATFORM +ARG VERSION +RUN apt update && apt install -y wget adduser git +RUN adduser --disabled-password dev +USER dev +ENV PATH="/home/dev/.pypy/bin:$PATH" +RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then ARCHITECTURE=linux64; elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then ARCHITECTURE=arm; elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then ARCHITECTURE=aarch64; else ARCHITECTURE=linux64; fi \ + && wget -nv https://downloads.python.org/pypy/pypy3.10-v7.3.16-${ARCHITECTURE}.tar.bz2 -O - \ + | tar -xj -C /tmp \ + && mv /tmp/pypy3.10-v7.3.16-${ARCHITECTURE} /home/dev/.pypy + +FROM scratch +COPY --from=build /home/dev/.pypy /home/dev/.pypy diff --git a/.github/workflows/devkit-pypy.yml b/.github/workflows/devkit-pypy.yml new file mode 100644 index 0000000..0463482 --- /dev/null +++ b/.github/workflows/devkit-pypy.yml @@ -0,0 +1,28 @@ +name: Devkit (pypy) + +on: + workflow_dispatch: + +jobs: + build: + name: Build + runs-on: ubuntu-22.04 + strategy: + matrix: + lang: ["pypy"] + version: ["7.3.16"] + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Publish + uses: elgohr/Publish-Docker-Github-Action@main + with: + name: shish2k/rosettaboy-devkit-${{ matrix.lang }} + dockerfile: .docker/${{ matrix.lang }}.dockerfile + buildoptions: "--build-arg VERSION=${{ matrix.version }}" + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + tags: ${{ matrix.version }} + platforms: linux/amd64,linux/arm64