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 - 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 create --use docker buildx build \ --platform linux/amd64,linux/arm64 \ --tag $REPO_HOST/$REPO_PATH:${{ github.sha }} \ --tag $REPO_HOST/$REPO_PATH:nightly \ --push \ . - name: Remove builder (optional cleanup) run: docker buildx rm