Skip to content

2024

2024 #54

Workflow file for this run

name: Build and deploy
on:
push: {}
jobs:
build:
name: Build
runs-on: ubuntu-latest
permissions:
packages: write
strategy:
fail-fast: false
matrix:
include:
- arch: aarch64
BASEIMAGE: "quay.io/pypa/manylinux2014_aarch64@sha256:14c367b38b4c875c06be808718fd4c33a51ed5158ab371266f6e72ecd733b6f2"
- arch: i686
BASEIMAGE: "quay.io/pypa/manylinux2014_i686@sha256:82b5fc4d023a9faaf1b3388d4df0daebc9c675e87c868024ad70082179181973"
- arch: x86_64
BASEIMAGE: "quay.io/pypa/manylinux2014_x86_64@sha256:e6079eeb8780461b9c11bb2e2f2f130b6eb34de20835f732705054ef1f14c8da"
steps:
- uses: actions/checkout@v4
- name: docker qemu multi-arch
if: matrix.arch != 'x86_64'
run: |
docker run --rm --privileged multiarch/qemu-user-static --reset --persistent yes
- name: build image
run: |
docker build \
--tag "${GITHUB_REPOSITORY}-${{ matrix.arch }}:${GITHUB_SHA}" \
--build-arg "BASEIMAGE=${{ matrix.BASEIMAGE }}" \
.
- name: push image
if: startsWith(github.ref, 'refs/tags/')
run: |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u "${GITHUB_ACTOR}" --password-stdin
docker tag \
"${GITHUB_REPOSITORY}-${{ matrix.arch }}:${GITHUB_SHA}" \
"ghcr.io/${GITHUB_REPOSITORY}-${{ matrix.arch }}:${GITHUB_REF/#refs\/tags\//}"
docker push "ghcr.io/${GITHUB_REPOSITORY}-${{ matrix.arch }}:${GITHUB_REF/#refs\/tags\//}"