name: Build and Push Docker Image on: push: branches: - main # Trigger on push to the main branch; adjust as needed jobs: build-and-push: runs-on: ubuntu-latest # Use a runner with Docker support container: ghcr.io/catthehacker/ubuntu:act-latest # Image with Docker pre-installed outputs: sha_short: ${{ steps.vars.outputs.sha_short }} steps: # Checkout the repository code - name: Checkout repository uses: actions/checkout@v5 - name: Set outputs id: vars run: | echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT # Set up Docker Buildx for building the image - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: driver: remote endpoint: 'tcp://buildkitd:1234' # Log in to the Gitea container registry - name: Log in to Gitea Container Registry uses: docker/login-action@v3 with: registry: git.dubyatp.xyz username: actions password: ${{ secrets.ACTIONS_TOKEN }} # Personal Access Token for authentication # Build and push the Docker image - name: Build and Push Docker Image uses: docker/build-push-action@v6 with: context: . # Build context (current directory) file: ./Dockerfile # Path to Dockerfile platforms: "linux/amd64,linux/arm64" push: true # Push to registry after building tags: | git.dubyatp.xyz/williamp/kube-zap2xml:latest git.dubyatp.xyz/williamp/kube-zap2xml:${{steps.vars.outputs.sha_short }} # Tags the image with 'latest' and the commit SHA