From 5727f1e081327bd01e0531b8c4c9b8a85da971b0 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" <james@purplerock.ca> Date: Mon, 9 Oct 2023 15:08:38 -0700 Subject: [PATCH] Test docker alpine build and ubuntu aliasing --- .github/workflows/build.yml | 57 +++++++++++++++++++++++++++++++++++-- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e06f57706..4f9fa8d8e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -275,8 +275,8 @@ jobs: ./dist/*.whl ./dist/*.tar.gz - docker: - name: Build Docker images + docker_ubuntu: + name: Build Ubuntu-based Docker image needs: [wheel_sdist_linux, test_linux, test_macos, test_windows] runs-on: ubuntu-latest if: github.event_name != 'pull_request' @@ -321,3 +321,56 @@ jobs: --platform linux/arm64/v8,linux/amd64 \ --tag "${DOCKER_REPOSITORY}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}" \ --file .docker/Dockerfile . + + - name: Add Ubuntu alias + run: | + UBUNTU_ALIAS="${DOCKER_REPOSITORY}/${DOCKER_IMAGE_NAME}-ubuntu:${DOCKER_IMAGE_TAG}" + docker rename "${DOCKER_REPOSITORY}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}" "${UBUNTU_ALIAS}" + docker push "${UBUNTU_ALIAS}" + + docker_alpine: + name: Build Alpine-based Docker images + needs: [wheel_sdist_linux, test_linux, test_macos, test_windows] + runs-on: ubuntu-latest + if: github.event_name != 'pull_request' + steps: + - name: Set image tag to release or branch + run: echo "DOCKER_IMAGE_TAG=${GITHUB_REF##*/}" >> $GITHUB_ENV + + - name: If main, set to latest + run: echo 'DOCKER_IMAGE_TAG=latest' >> $GITHUB_ENV + if: env.DOCKER_IMAGE_TAG == 'main' + + - name: Set Docker Hub repository to username + run: echo "DOCKER_REPOSITORY=jbarlow83" >> $GITHUB_ENV + + - name: Set image name + run: echo "DOCKER_IMAGE_NAME=ocrmypdf-alpine" >> $GITHUB_ENV + + - uses: actions/checkout@v4 + with: + fetch-depth: "0" # 0=all, needed for setuptools-scm to resolve version tags + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: jbarlow83 + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v3 + + - name: Print image tag + run: echo "Building image ${DOCKER_REPOSITORY}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}" + + - name: Build + run: | + docker buildx build \ + --push \ + --platform linux/arm64/v8,linux/amd64 \ + --tag "${DOCKER_REPOSITORY}/${DOCKER_IMAGE_NAME}:${DOCKER_IMAGE_TAG}" \ + --file .docker/Dockerfile.alpine .