diff --git a/.github/workflows/pack.yml b/.github/workflows/pack.yml index 97fa5b2..233ada5 100644 --- a/.github/workflows/pack.yml +++ b/.github/workflows/pack.yml @@ -2,6 +2,9 @@ name: Build and publish on: push: + branches: + - master + - release tags: - '*' @@ -11,22 +14,41 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 + - + name: Docker meta + id: meta + uses: docker/metadata-action@v5 + with: + # list of Docker images to use as base name for tags + images: | + ${{ matrix.image }} + # generate Docker tags based on the following events/attributes + # on tag event: tag using git tag, and as latest if the tag doesn't contain hyphens (pre-releases) + # on push event: tag using git sha, branch name and as latest-dev + tags: | + type=raw,value=latest,enable=${{ github.ref_type == 'tag' && !contains(github.ref_name, '-') }} + type=raw,value=latest-dev,enable=${{ github.ref_type == 'branch' && github.ref_name == 'master' }} + type=raw,value=${{ github.ref_name }} + type=raw,value=${{ github.sha }},enable=${{ github.ref_type == 'branch' }} + flavor: | + latest=false - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v5 with: context: ./GlobalRankLookupCache file: ./GlobalRankLookupCache/Dockerfile platforms: linux/amd64 push: true - tags: pppy/osu-global-rank-lookup-cache:latest + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}