diff --git a/.github/workflows/create-docker-hub-image.yml b/.github/workflows/create-docker-hub-image.yml index 23847eddb..c009c0fc2 100644 --- a/.github/workflows/create-docker-hub-image.yml +++ b/.github/workflows/create-docker-hub-image.yml @@ -8,28 +8,40 @@ jobs: build: runs-on: ubuntu-latest env: - DOCKER_ORGANIZATION: ${{secrets.DOCKER_ORGANIZATION}} + DOCKER_ORGANIZATION: ${{ secrets.DOCKER_ORGANIZATION }} steps: - uses: actions/checkout@v2 - - name: Docker Hub Login - env: - DOCKER_USER: ${{secrets.DOCKER_USER}} - DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} - run: | - echo $DOCKER_PASSWORD | docker login -u $DOCKER_USER --password-stdin + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USER }} + password: ${{ secrets.DOCKER_PASSWORD }} - name: Extract branch name shell: bash run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT id: extract_branch - - name: Build the Docker image - run: docker build -t web-app:latest . + - name: Get Git Hashes + run: | + echo "short_hash=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + echo "long_hash=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT + id: git_hashes - - name: Docker Hub Prepare - run: docker image tag web-app $DOCKER_ORGANIZATION/web-app:${{ steps.extract_branch.outputs.branch }} + - name: Build and Push Multi-Arch Docker Image + run: | + TAGS="--tag $DOCKER_ORGANIZATION/web-app:${{ steps.extract_branch.outputs.branch }}" - - name: Docker Hub Push - run: docker image push $DOCKER_ORGANIZATION/web-app:${{ steps.extract_branch.outputs.branch }} + if [ "${{ steps.extract_branch.outputs.branch }}" == "develop" ]; then + TAGS="$TAGS --tag $DOCKER_ORGANIZATION/web-app:${{ steps.git_hashes.outputs.short_hash }} --tag $DOCKER_ORGANIZATION/web-app:${{ steps.git_hashes.outputs.long_hash }}" + fi + + docker build --push --build-arg="PUPPETEER_SKIP_DOWNLOAD_ARG=true" --platform linux/amd64,linux/arm64 $TAGS .