diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e28646f4..ab799a75 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,20 +1,39 @@ name: Website Docker Release on: [ push, pull_request ] - -jobs: - build: - runs-on: ubuntu-latest +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true +jobs: + docker: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - - name: Build and push Docker images - uses: docker/build-push-action@v1.1.1 + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ vars.DOCKER_ORG || 'faforever' }}/faf-website + flavor: latest=false + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - + name: Build Docker Image + uses: docker/build-push-action@v5 + - + name: Login to Docker Hub + uses: docker/login-action@v3 + if: ${{ github.ref_name == 'develop' || startsWith(github.ref, 'refs/tags') }} with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - repository: faforever/faf-website - push: ${{ github.ref == 'refs/heads/develop' || startsWith(github.ref, 'refs/tags') }} - tag_with_ref: true + - + name: Push Docker Image + uses: docker/build-push-action@v5 + if: ${{ github.ref_name == 'develop' || startsWith(github.ref, 'refs/tags') }} + with: + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }}