name: Base DNS Docker Image CI/CD Build on: - push jobs: build-docker-image: runs-on: main env: CONTAINER_NAME: "${{ vars.CONTAINER_REGISTRY_HOSTNAME }}/dns/base" MAJOR_VERSION: 0 steps: - name: Check out repository code uses: actions/checkout@v4 - name: Build Docker Image (with run number tag) run: | set -x docker build \ --tag $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }} \ --progress plain \ --no-cache . - name: Push Docker Image (with run number tag) run: | set -x docker push $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }} - name: Tag and Push `latest` Docker image (if main branch) if: ${{ github.ref }} == 'refs/heads/main' run: | set -x docker tag $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }} $CONTAINER_NAME:latest docker push $CONTAINER_NAME:latest - name: Clean up Docker Images run: | set -x docker rmi $CONTAINER_NAME:latest || true # Avoid failure if 'latest' tag does not exist docker rmi $CONTAINER_NAME:$MAJOR_VERSION.${{ github.run_number }}