name: Publish on: push: branches: - main paths-ignore: - 'README.md' - 'LICENSE' - '.gitignore' - '.github/**' jobs: tag: name: Update tag if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} runs-on: ubuntu-23.04 steps: - name: Checkout code uses: actions/checkout@v3 - name: Bump version and push tag id: tag_version uses: mathieudutour/github-tag-action@v6.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} docker-publish: name: Publish to GitHub Container Registry if: "!contains(github.event.head_commit.message, '[ci skip]')" runs-on: ubuntu-23.04 steps: - name: Checkout code uses: actions/checkout@v3 - name: 'Get Previous tag' id: tag uses: "WyriHaximus/github-action-get-previous-tag@v1" - name: Write version uses: DamianReeves/write-file-action@master with: path: ./VERSION contents: | ${{ steps.tag.outputs.tag }} write-mode: overwrite - name: Set up QEMU id: qemu uses: docker/setup-qemu-action@v2.1.0 with: platforms: linux/amd64,linux/arm64,linux/armv7 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2.5.0 - name: Login to GitHub Container Registry uses: docker/login-action@v2.1.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push id: build uses: docker/build-push-action@v4.0.0 with: context: . push: true platforms: ${{ steps.qemu.outputs.platforms }} tags: | ghcr.io/danclough/amcrest2mqtt:latest ghcr.io/danclough/amcrest2mqtt:${{ steps.tag.outputs.tag }} labels: "version=${{ steps.tag.outputs.tag }}"