From df72415538e05702f50765859b7211dbe97abe5b Mon Sep 17 00:00:00 2001 From: Harsh pratap Singh <1002.harshsingh@gmail.com> Date: Tue, 10 Mar 2026 16:18:42 +0400 Subject: [PATCH 1/2] feat: add docker releaser workflow --- .github/workflows/docker-release.yml | 101 ++++++++++++++++++++++++++ infrastructure/docker/docker-bake.hcl | 1 - 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/docker-release.yml diff --git a/.github/workflows/docker-release.yml b/.github/workflows/docker-release.yml new file mode 100644 index 000000000..fcd6ca965 --- /dev/null +++ b/.github/workflows/docker-release.yml @@ -0,0 +1,101 @@ +name: Docker Release + +on: + push: + tags: + - 'v*' + workflow_dispatch: + inputs: + tag: + description: 'Image tag (e.g., 1.2.0-rc1)' + required: true + type: string + +env: + REGISTRY: docker.io + REPO_NAME: primev + +jobs: + build-and-push: + name: Build & Push Images + runs-on: ubuntu-24.04 + timeout-minutes: 60 + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + submodules: recursive + fetch-depth: 0 + + - name: Generate Tag + id: tag + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + TAG="${{ github.event.inputs.tag }}" + else + # Extract version from tag (v1.2.0 -> 1.2.0) + TAG="${GITHUB_REF#refs/tags/v}" + fi + echo "value=${TAG}" >> $GITHUB_OUTPUT + echo "Generated tag: ${TAG}" + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Build and Push Images + working-directory: infrastructure/docker + env: + TAG: ${{ steps.tag.outputs.value }} + REGISTRY: ${{ env.REPO_NAME }} + REPO_NAME: ${{ env.REPO_NAME }} + GIT_BRANCH: ${{ github.ref_name }} + GIT_COMMIT: ${{ github.sha }} + PLATFORM: linux/amd64 + run: | + docker buildx bake \ + mev-commit-oracle \ + mev-commit \ + mev-commit-bridge \ + mev-commit-dashboard \ + preconf-rpc \ + bidder-emulator \ + provider-emulator \ + realbidder-emulator \ + relay-emulator \ + l1-volume-indexer \ + snode \ + --set "*.output=type=registry" \ + --push + + echo "✅ Images pushed with tag: ${TAG}" + + - name: Summary + run: | + echo "## 🐳 Docker Images Released" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "**Tag:** \`${{ steps.tag.outputs.value }}\`" >> $GITHUB_STEP_SUMMARY + echo "**Commit:** \`${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "### Images:" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-mev-commit\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-mev-commit-oracle\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-mev-commit-bridge\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-mev-commit-dashboard\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-preconf-rpc\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-bidder-emulator\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-provider-emulator\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-realbidder-emulator\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-relay-emulator\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-l1-volume-indexer\`" >> $GITHUB_STEP_SUMMARY + echo "- \`primev/primev:${{ steps.tag.outputs.value }}-snode\`" >> $GITHUB_STEP_SUMMARY diff --git a/infrastructure/docker/docker-bake.hcl b/infrastructure/docker/docker-bake.hcl index 6b12f1919..fc4e0b92b 100644 --- a/infrastructure/docker/docker-bake.hcl +++ b/infrastructure/docker/docker-bake.hcl @@ -175,4 +175,3 @@ target "_common" { platforms = [PLATFORM] output = ["type=docker"] } - From ec5779fdafcc20cfe02d2c0447d5e5093807f659 Mon Sep 17 00:00:00 2001 From: Harsh pratap Singh <1002.harshsingh@gmail.com> Date: Tue, 10 Mar 2026 16:21:17 +0400 Subject: [PATCH 2/2] feat: add docker releaser workflow --- infrastructure/docker/docker-bake.hcl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/infrastructure/docker/docker-bake.hcl b/infrastructure/docker/docker-bake.hcl index fc4e0b92b..f59b01348 100644 --- a/infrastructure/docker/docker-bake.hcl +++ b/infrastructure/docker/docker-bake.hcl @@ -26,11 +26,17 @@ variable "GIT_COMMIT" { function "get_labels" { params = [component] result = { - "branch" = GIT_BRANCH != null ? GIT_BRANCH : "unknown" - "commit" = GIT_COMMIT != null ? GIT_COMMIT : "unknown" - "component" = component - "build.timestamp"= timestamp() - "build.tag" = TAG + "org.opencontainers.image.title" = component + "org.opencontainers.image.description" = "Primev ${component} - mev-commit infrastructure" + "org.opencontainers.image.vendor" = "Primev" + "org.opencontainers.image.source" = "https://github.com/primev/mev-commit" + "org.opencontainers.image.url" = "https://github.com/primev/mev-commit" + "org.opencontainers.image.revision" = GIT_COMMIT != null ? GIT_COMMIT : "unknown" + "org.opencontainers.image.version" = TAG + "org.opencontainers.image.created" = timestamp() + "org.opencontainers.image.licenses" = "BSL-1.1" + "com.primev.branch" = GIT_BRANCH != null ? GIT_BRANCH : "unknown" + "com.primev.component" = component } }