name: Build Docker Image on Commit on: push: branches: - main tags: - '!' # Exclude tags jobs: build-and-publish: runs-on: docker-builder steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set REPO_VARS id: repo-url run: | echo "REPO_HOST=$(echo "${{ github.server_url }}" | sed 's~http[s]*://~~g')" >> $GITHUB_ENV echo "REPO_PATH=${{ github.repository }}" >> $GITHUB_ENV - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: driver: docker-container driver-opts: | network=host endpoint: tcp://docker:2376 install: true config: /certs/client/config.json - name: Login to OCI registry run: | echo "${{ secrets.OCI_TOKEN }}" | docker login $REPO_HOST -u "${{ secrets.OCI_USER }}" --password-stdin - name: Build and push multi-arch Docker images run: | docker buildx build \ --platform linux/amd64,linux/arm64 \ --tag $REPO_HOST/$REPO_PATH:${{ github.sha }} \ --tag $REPO_HOST/$REPO_PATH:nightly \ --push \ . - name: Cleanup run: | docker buildx prune -f docker logout $REPO_HOST