From 3dd5555b24c9ebf3b347300346d83821e83fc271 Mon Sep 17 00:00:00 2001 From: Ricard Bejarano Date: Thu, 19 Dec 2024 11:13:09 +0100 Subject: [PATCH] updated container build github action --- .github/workflows/docker-build.yaml | 49 +++++++++++++++++++---------- 1 file changed, 32 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index 9ad5412..a1912de 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -1,4 +1,4 @@ -name: "Build and push Docker image" +name: "Build and push container image" on: @@ -6,28 +6,43 @@ on: branches: ["*"] tags: ["*"] schedule: - - cron: "0 0 * * 0" + - cron: "0 0 * * *" jobs: - main: - runs-on: "ubuntu-20.04" + runs-on: "ubuntu-latest" steps: - name: "Checkout" - uses: "actions/checkout@v2" - - name: "Prepare build environment; build; push to Docker Hub, RedHat Quay" - run: | - IMAGE_TAG="$(echo '${{ github.ref }}' | sed -e 's,.*/\(.*\),\1,')" - [ "$IMAGE_TAG" == 'master' ] && IMAGE_TAG='latest' - [ "$IMAGE_TAG" == 'main' ] && IMAGE_TAG='latest' + uses: "actions/checkout@v4" - docker buildx create --use + - name: "Login to Docker Hub" + uses: "docker/login-action@v3" + with: + registry: "docker.io" + username: "${{ secrets.DOCKER_HUB_USERNAME }}" + password: "${{ secrets.DOCKER_HUB_PASSWORD }}" - IMAGE_REGISTRY='docker.io' - echo '${{ secrets.DOCKER_HUB_PASSWORD }}' | docker login --username '${{ secrets.DOCKER_HUB_USERNAME }}' --password-stdin "$IMAGE_REGISTRY" - docker buildx build --push --platform 'linux/amd64' --tag "$IMAGE_REGISTRY/${{ github.repository }}:$IMAGE_TAG" --file Dockerfile . + - name: "Login to RedHat Quay" + uses: "docker/login-action@v3" + with: + registry: "quay.io" + username: "${{ secrets.REDHAT_QUAY_USERNAME }}" + password: "${{ secrets.REDHAT_QUAY_PASSWORD }}" - IMAGE_REGISTRY='quay.io' - echo '${{ secrets.REDHAT_QUAY_PASSWORD }}' | docker login --username '${{ secrets.REDHAT_QUAY_USERNAME }}' --password-stdin "$IMAGE_REGISTRY" - docker buildx build --push --platform 'linux/amd64' --tag "$IMAGE_REGISTRY/${{ github.repository }}:$IMAGE_TAG" --file Dockerfile . + - name: "Set up QEMU" + uses: "docker/setup-qemu-action@v3" + + - name: "Set up Docker Buildx" + uses: "docker/setup-buildx-action@v3" + + - name: "Build and push" + uses: "docker/build-push-action@v6" + with: + platforms: "linux/amd64,linux/arm/v7,linux/arm64/v8" + push: true + tags: | + docker.io/${{ github.repository }}:latest + docker.io/${{ github.repository }}:${{ github.ref_name }} + quay.io/${{ github.repository }}:latest + quay.io/${{ github.repository }}:${{ github.ref_name }}