diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 6d958b9..836f1bc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -14,22 +14,12 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Prepare - id: prepare - run: | - DOCKER_IMAGE=ghcr.io/${{ github.repository_owner }}/linx-server - DOCKER_PLATFORMS=linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64/v8,linux/386 - VERSION=${GITHUB_REF#refs/tags/v} - TAGS="--tag ${DOCKER_IMAGE}:${VERSION} --tag ${DOCKER_IMAGE}:latest --tag ${DOCKER_IMAGE}:${GITHUB_SHA::8}" - - echo ::set-output name=docker_image::${DOCKER_IMAGE} - echo ::set-output name=version::${VERSION} - echo ::set-output name=buildx_args::--platform ${DOCKER_PLATFORMS} \ - --build-arg VERSION=${VERSION} \ - --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') \ - --build-arg VCS_REF=${GITHUB_SHA::8} \ - ${TAGS} --file Dockerfile . - + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.repository_owner }}/linx-server + - name: Login to GHCR uses: docker/login-action@v2 if: github.event_name != 'pull_request' @@ -38,12 +28,10 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Set up Docker Buildx - uses: crazy-max/ghaction-docker-buildx@v3 - - - name: Docker Buildx (build) - run: docker buildx build --output "type=image,push=false" ${{ steps.prepare.outputs.buildx_args }} - - - name: Docker Buildx (push) - if: success() - run: docker buildx build --output "type=image,push=true" ${{ steps.prepare.outputs.buildx_args }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file