diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 959e65c1..a35c6e71 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -7,6 +7,7 @@ on: permissions: contents: write + packages: write jobs: docker-image: @@ -20,6 +21,10 @@ jobs: - name: Get tag version run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Get release date + run: | + echo "RELEASE_DATE=$(date --rfc-3339=date)" >> ${GITHUB_ENV} + - name: Print version run: | echo $RELEASE_VERSION @@ -27,14 +32,14 @@ jobs: - name: Extract metadata (tags, labels) for Docker images id: meta - uses: docker/metadata-action@v4 + uses: docker/metadata-action@f7b4ed12385588c3f9bc252f0a2b520d83b52d48 with: - images: flashbots/mev-boost + images: ghcr.io/${{ github.event.repository.full_name }} tags: | + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} type=sha - type=pep440,pattern={{version}} - type=pep440,pattern={{major}}.{{minor}} - type=raw,value=latest,enable=${{ !contains(env.RELEASE_VERSION, '-') }} - name: Set up QEMU uses: docker/setup-qemu-action@v2 @@ -42,11 +47,12 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Login to DockerHub - uses: docker/login-action@v2 + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v3 @@ -55,6 +61,8 @@ jobs: push: true build-args: | VERSION=${{ env.RELEASE_VERSION }} + VCS_REF=${{ github.event.ref }} + BUILD_DATE=${{ env.RELEASE_DATE }} platforms: linux/amd64,linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} @@ -77,7 +85,7 @@ jobs: with: distribution: goreleaser version: latest - args: release --skip-publish --config .goreleaser-build.yaml --rm-dist + args: release --skip=publish --config .goreleaser-build.yaml --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Upload @@ -120,4 +128,4 @@ jobs: with: args: release --config .goreleaser-release.yaml env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Dockerfile b/Dockerfile index 32477fb6..6450c2db 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ # syntax=docker/dockerfile:1 FROM golang:1.22 as builder ARG VERSION +ARG VCS_REF +ARG BUILD_DATE WORKDIR /build COPY go.mod ./