name: Docker Main Build on: push: branches: [ main ] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: docker-main-build: runs-on: ubuntu-latest steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3.6.0 - name: Set up Docker Buildx id: buildx uses: docker/setup-buildx-action@v3.11.1 with: version: v0.19.3 driver-opts: | image=moby/buildkit:buildx-stable-1 network=host - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Login to GHCR uses: docker/login-action@v3.4.0 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to DockerHub uses: docker/login-action@v3.4.0 with: # NOTE: DOCKERHUB_TOKEN and DOCKERHUB_USERNAME must be present in https://github.com/hairyhenderson/gomplate/settings username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build & Push (latest tag) run: | export srcrepo=ghcr.io/${{ github.repository}} make docker-multi COMMIT=${{ github.sha }} DOCKER_REPO=${srcrepo} BUILDX_ACTION=--push for repo in "gomplate/gomplate" "hairyhenderson/gomplate"; do docker buildx imagetools create -t ${repo}:latest ${srcrepo}:latest docker buildx imagetools create -t ${repo}:alpine ${srcrepo}:alpine done