Skip to content

Commit 9f6adbd

Browse files
feat: add Docker release workflow for tag pushes (#903)
1 parent 5e98d2b commit 9f6adbd

1 file changed

Lines changed: 96 additions & 0 deletions

File tree

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
name: Docker Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
workflow_dispatch:
8+
inputs:
9+
tag:
10+
description: 'Tag to build and push (e.g., v1.2.0)'
11+
required: true
12+
type: string
13+
14+
env:
15+
REGISTRY: docker.io/primev
16+
17+
jobs:
18+
build-and-push:
19+
name: Build & Push Images
20+
runs-on: ubuntu-24.04
21+
steps:
22+
- name: Checkout Code
23+
uses: actions/checkout@v4
24+
with:
25+
ref: ${{ github.event.inputs.tag || github.ref }}
26+
27+
- name: Generate Tag
28+
id: tag
29+
run: |
30+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
31+
TAG="${{ github.event.inputs.tag }}"
32+
else
33+
TAG="${GITHUB_REF#refs/tags/}"
34+
fi
35+
# Strip 'v' prefix if present
36+
TAG="${TAG#v}"
37+
echo "value=${TAG}" >> $GITHUB_OUTPUT
38+
echo "Generated tag: ${TAG}"
39+
40+
- name: Set up QEMU
41+
uses: docker/setup-qemu-action@v3
42+
43+
- name: Set up Docker Buildx
44+
uses: docker/setup-buildx-action@v3
45+
46+
- name: Login to Docker Hub
47+
uses: docker/login-action@v3
48+
with:
49+
username: ${{ secrets.DOCKERHUB_USERNAME }}
50+
password: ${{ secrets.DOCKERHUB_TOKEN }}
51+
52+
- name: Build and Push Images
53+
working-directory: infrastructure/docker
54+
env:
55+
TAG: ${{ steps.tag.outputs.value }}
56+
REGISTRY: ${{ env.REGISTRY }}
57+
REPO_NAME: primev
58+
GIT_BRANCH: ${{ github.ref_name }}
59+
GIT_COMMIT: ${{ github.sha }}
60+
run: |
61+
docker buildx bake \
62+
mev-commit-oracle \
63+
mev-commit \
64+
mev-commit-bridge \
65+
mev-commit-dashboard \
66+
preconf-rpc \
67+
bidder-emulator \
68+
provider-emulator \
69+
realbidder-emulator \
70+
relay-emulator \
71+
l1-volume-indexer \
72+
snode \
73+
--set "*.platform=linux/amd64,linux/arm64" \
74+
--push
75+
76+
echo "✅ Images pushed with tag: ${TAG}"
77+
78+
- name: Summary
79+
run: |
80+
TAG="${{ steps.tag.outputs.value }}"
81+
echo "## Docker Images Published 🐳" >> $GITHUB_STEP_SUMMARY
82+
echo "" >> $GITHUB_STEP_SUMMARY
83+
echo "Tag: \`${TAG}\`" >> $GITHUB_STEP_SUMMARY
84+
echo "" >> $GITHUB_STEP_SUMMARY
85+
echo "### Images:" >> $GITHUB_STEP_SUMMARY
86+
echo "- \`primev/primev:${TAG}-mev-commit\`" >> $GITHUB_STEP_SUMMARY
87+
echo "- \`primev/primev:${TAG}-mev-commit-oracle\`" >> $GITHUB_STEP_SUMMARY
88+
echo "- \`primev/primev:${TAG}-mev-commit-bridge\`" >> $GITHUB_STEP_SUMMARY
89+
echo "- \`primev/primev:${TAG}-mev-commit-dashboard\`" >> $GITHUB_STEP_SUMMARY
90+
echo "- \`primev/primev:${TAG}-preconf-rpc\`" >> $GITHUB_STEP_SUMMARY
91+
echo "- \`primev/primev:${TAG}-bidder-emulator\`" >> $GITHUB_STEP_SUMMARY
92+
echo "- \`primev/primev:${TAG}-provider-emulator\`" >> $GITHUB_STEP_SUMMARY
93+
echo "- \`primev/primev:${TAG}-realbidder-emulator\`" >> $GITHUB_STEP_SUMMARY
94+
echo "- \`primev/primev:${TAG}-relay-emulator\`" >> $GITHUB_STEP_SUMMARY
95+
echo "- \`primev/primev:${TAG}-l1-volume-indexer\`" >> $GITHUB_STEP_SUMMARY
96+
echo "- \`primev/primev:${TAG}-snode\`" >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)