updated container build github action

This commit is contained in:
Ricard Bejarano 2024-12-19 11:13:09 +01:00
parent c0f0f98f86
commit 3dd5555b24
No known key found for this signature in database

View file

@ -1,4 +1,4 @@
name: "Build and push Docker image" name: "Build and push container image"
on: on:
@ -6,28 +6,43 @@ on:
branches: ["*"] branches: ["*"]
tags: ["*"] tags: ["*"]
schedule: schedule:
- cron: "0 0 * * 0" - cron: "0 0 * * *"
jobs: jobs:
main: main:
runs-on: "ubuntu-20.04" runs-on: "ubuntu-latest"
steps: steps:
- name: "Checkout" - name: "Checkout"
uses: "actions/checkout@v2" uses: "actions/checkout@v4"
- 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'
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' - name: "Login to RedHat Quay"
echo '${{ secrets.DOCKER_HUB_PASSWORD }}' | docker login --username '${{ secrets.DOCKER_HUB_USERNAME }}' --password-stdin "$IMAGE_REGISTRY" uses: "docker/login-action@v3"
docker buildx build --push --platform 'linux/amd64' --tag "$IMAGE_REGISTRY/${{ github.repository }}:$IMAGE_TAG" --file Dockerfile . with:
registry: "quay.io"
username: "${{ secrets.REDHAT_QUAY_USERNAME }}"
password: "${{ secrets.REDHAT_QUAY_PASSWORD }}"
IMAGE_REGISTRY='quay.io' - name: "Set up QEMU"
echo '${{ secrets.REDHAT_QUAY_PASSWORD }}' | docker login --username '${{ secrets.REDHAT_QUAY_USERNAME }}' --password-stdin "$IMAGE_REGISTRY" uses: "docker/setup-qemu-action@v3"
docker buildx build --push --platform 'linux/amd64' --tag "$IMAGE_REGISTRY/${{ github.repository }}:$IMAGE_TAG" --file Dockerfile .
- 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 }}