diff --git a/.github/workflows/release-docker.yml b/.github/workflows/release-docker.yml deleted file mode 100644 index 004d131a..00000000 --- a/.github/workflows/release-docker.yml +++ /dev/null @@ -1,62 +0,0 @@ -name: Studio API Release Docker Workflow - -on: push - -permissions: - contents: write - packages: write - -jobs: - publish-docker: - name: Publish Docker Image (linux/amd64) - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Set Latest Tag - run: echo "LATEST_RELEASE_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV - - - name: Set up Go - uses: actions/setup-go@v3 - with: - go-version: 1.19 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - id: buildx - with: - version: latest - - - name: Docker Login - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Prepare Docker Metadata - id: docker-build - uses: docker/metadata-action@v4 - with: - images: ghcr.io/${{ github.repository}} - flavor: | - latest=auto - tags: | - type=semver,pattern={{version}},value=${{ env.LATEST_RELEASE_TAG }} - labels: | - org.opencontainers.image.vendor="Hypermine Limited" - - - name: Build and push image - uses: docker/build-push-action@v3 - with: - context: . - platforms: linux/amd64 - push: true - tags: ${{ steps.docker-build.outputs.tags }} - labels: ${{ steps.docker-build.outputs.labels }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 91153f0c..b8b4350b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,15 +3,15 @@ name: Studio API Release Workflow on: push: tags: - - "[0-9]+.[0-9]+.[0-9]+" - - "[0-9]+.[0-9]+.[0-9]-rc.[0-9]+" + - "v[0-9]+.[0-9]+.[0-9]+" + - "v[0-9]+.[0-9]+.[0-9]-rc.[0-9]+" permissions: contents: write packages: write jobs: - release-github: + release-binaries-github: runs-on: ubuntu-latest steps: - name: Checkout @@ -24,3 +24,60 @@ jobs: with: prerelease: false generate_release_notes: true + + publish-docker: + name: Publish Docker Image (linux/amd64) + runs-on: ubuntu-latest + needs: release-binaries-github + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: Set Latest Tag + run: echo "LATEST_RELEASE_TAG=$(git describe --tags --abbrev=0)" >> $GITHUB_ENV + + - name: Set up Go + uses: actions/setup-go@v3 + with: + go-version: 1.19 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + id: buildx + with: + version: latest + + - name: Docker Login + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Prepare Docker Metadata + id: docker-build + uses: docker/metadata-action@v4 + with: + images: ghcr.io/${{ github.repository}} + flavor: | + latest=auto + tags: | + type=semver,pattern={{version}},value=${{ env.LATEST_RELEASE_TAG }} + labels: | + org.opencontainers.image.vendor="Hypermine Limited" + org.opencontainers.image.title="Entity API Service" + org.opencontainers.image.source="https://github.com/hypersign-protocol/entity-api-service" + + - name: Build and push image + uses: docker/build-push-action@v3 + with: + context: . + platforms: linux/amd64 + push: true + tags: ${{ steps.docker-build.outputs.tags }} + labels: ${{ steps.docker-build.outputs.labels }}