name: publish on: push: tags: - '*' jobs: publish: runs-on: ubuntu-latest permissions: actions: read checks: write issues: read packages: write pull-requests: read repository-projects: read statuses: read steps: - uses: actions/checkout@master with: fetch-depth: 1 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Registry uses: docker/login-action@v3 with: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} registry: ghcr.io - name: Get TAG id: get_tag run: echo TAG=${GITHUB_REF#refs/tags/} >> $GITHUB_ENV - name: Get git commit id: get_git_commit run: echo "GIT_COMMIT=$(git rev-parse HEAD)" >> $GITHUB_ENV - name: Get version id: get_version run: echo "VERSION=$(git describe --tags --dirty)" >> $GITHUB_ENV - name: Get Repo Owner id: get_repo_owner run: echo "REPO_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]')" > $GITHUB_ENV - name: Publish ${{ matrix.svc }} uses: docker/build-push-action@v5 with: context: ./gateway file: ./gateway/Dockerfile outputs: "type=registry,push=true" platforms: linux/amd64,linux/arm64 build-args: | VERSION=${{ env.TAG }} GIT_COMMIT=${{ github.sha }} tags: | ghcr.io/${{ env.REPO_OWNER }}/gateway:${{ github.sha }} ghcr.io/${{ env.REPO_OWNER }}/gateway:${{ env.TAG }} ghcr.io/${{ env.REPO_OWNER }}/gateway:latest