Skip to content

Commit 7a47515

Browse files
committed
ci: use blacksmith's docker builder
1 parent 63e44fc commit 7a47515

1 file changed

Lines changed: 48 additions & 38 deletions

File tree

.github/workflows/release.yml

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -25,65 +25,77 @@ jobs:
2525
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2626

2727
- name: Set up Docker Buildx
28-
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
28+
uses: useblacksmith/setup-docker-builder@722e97d12b1d06a961800dd6c05d79d951ad3c80 # v1.8.0
2929

3030
- name: Build
31-
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
31+
uses: useblacksmith/build-push-action@fb9e3e6a9299c78462bfadd0d93352c316adc9b8 # v2.2.0
3232
with:
3333
platforms: linux/amd64
3434
push: false
35-
cache-from: type=gha,scope=buildkit-linux-amd64
36-
cache-to: type=gha,mode=max,scope=buildkit-linux-amd64
3735

38-
build-release:
39-
name: Build (${{ matrix.registry }}, linux/${{ matrix.arch }})
36+
build-release-dockerhub:
37+
name: Build (dockerhub, linux/${{ matrix.arch }})
4038
runs-on: ${{ matrix.runner }}
4139
needs: [build]
4240
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
4341
strategy:
4442
matrix:
4543
include:
46-
- registry: dockerhub
47-
arch: amd64
44+
- arch: amd64
4845
platform: linux/amd64
4946
runner: blacksmith-2vcpu-ubuntu-2404
50-
tag_prefix: docker.io/zeabur/stratus
51-
provenance: "true"
52-
- registry: dockerhub
53-
arch: arm64
47+
- arch: arm64
5448
platform: linux/arm64
5549
runner: blacksmith-2vcpu-ubuntu-2404-arm
56-
tag_prefix: docker.io/zeabur/stratus
57-
provenance: "true"
58-
- registry: swr
59-
arch: amd64
60-
platform: linux/amd64
61-
runner: blacksmith-2vcpu-ubuntu-2404
62-
tag_prefix: swr.cn-east-3.myhuaweicloud.com/zeabur/stratus
63-
provenance: "false"
64-
- registry: swr
65-
arch: arm64
66-
platform: linux/arm64
67-
runner: blacksmith-2vcpu-ubuntu-2404-arm
68-
tag_prefix: swr.cn-east-3.myhuaweicloud.com/zeabur/stratus
69-
provenance: "false"
7050

7151
steps:
7252
- name: Checkout
7353
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
7454

7555
- name: Set up Docker Buildx
76-
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
56+
uses: useblacksmith/setup-docker-builder@722e97d12b1d06a961800dd6c05d79d951ad3c80 # v1.8.0
7757

7858
- name: Login to Docker Hub
79-
if: matrix.registry == 'dockerhub'
8059
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
8160
with:
8261
username: ${{ secrets.DOCKERHUB_USERNAME }}
8362
password: ${{ secrets.DOCKERHUB_TOKEN }}
8463

64+
- name: Extract version
65+
id: meta
66+
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
67+
68+
- name: Build and push
69+
uses: useblacksmith/build-push-action@fb9e3e6a9299c78462bfadd0d93352c316adc9b8 # v2.2.0
70+
with:
71+
platforms: ${{ matrix.platform }}
72+
provenance: "true"
73+
push: true
74+
tags: docker.io/zeabur/stratus:${{ steps.meta.outputs.version }}-linux-${{ matrix.arch }}
75+
76+
build-release-swr:
77+
name: Build (swr, linux/${{ matrix.arch }})
78+
runs-on: ${{ matrix.runner }}
79+
needs: [build]
80+
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
81+
strategy:
82+
matrix:
83+
include:
84+
- arch: amd64
85+
platform: linux/amd64
86+
runner: blacksmith-2vcpu-ubuntu-2404
87+
- arch: arm64
88+
platform: linux/arm64
89+
runner: blacksmith-2vcpu-ubuntu-2404-arm
90+
91+
steps:
92+
- name: Checkout
93+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
94+
95+
- name: Set up Docker Buildx
96+
uses: useblacksmith/setup-docker-builder@722e97d12b1d06a961800dd6c05d79d951ad3c80 # v1.8.0
97+
8598
- name: Login to Huawei SWR
86-
if: matrix.registry == 'swr'
8799
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
88100
with:
89101
registry: swr.cn-east-3.myhuaweicloud.com
@@ -95,23 +107,21 @@ jobs:
95107
run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
96108

97109
- name: Build and push
98-
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
110+
uses: useblacksmith/build-push-action@fb9e3e6a9299c78462bfadd0d93352c316adc9b8 # v2.2.0
99111
with:
100112
platforms: ${{ matrix.platform }}
101-
provenance: ${{ matrix.provenance }}
113+
provenance: "false"
102114
push: true
103-
tags: ${{ matrix.tag_prefix }}:${{ steps.meta.outputs.version }}-linux-${{ matrix.arch }}
104-
cache-from: type=gha,scope=buildkit-linux-amd64,type=gha,scope=buildkit-${{ matrix.registry }}-linux-${{ matrix.arch }}
105-
cache-to: type=gha,mode=max,scope=buildkit-${{ matrix.registry }}-linux-${{ matrix.arch }}
115+
tags: swr.cn-east-3.myhuaweicloud.com/zeabur/stratus:${{ steps.meta.outputs.version }}-linux-${{ matrix.arch }}
106116

107117
push-dockerhub:
108118
name: Push to Docker Hub
109119
runs-on: blacksmith-2vcpu-ubuntu-2404-arm
110-
needs: [build-release]
120+
needs: [build-release-dockerhub]
111121

112122
steps:
113123
- name: Set up Docker Buildx
114-
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
124+
uses: useblacksmith/setup-docker-builder@722e97d12b1d06a961800dd6c05d79d951ad3c80 # v1.8.0
115125

116126
- name: Login to Docker Hub
117127
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0
@@ -133,11 +143,11 @@ jobs:
133143
push-swr:
134144
name: Push to Huawei SWR
135145
runs-on: blacksmith-2vcpu-ubuntu-2404-arm
136-
needs: [build-release]
146+
needs: [build-release-swr]
137147

138148
steps:
139149
- name: Set up Docker Buildx
140-
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
150+
uses: useblacksmith/setup-docker-builder@722e97d12b1d06a961800dd6c05d79d951ad3c80 # v1.8.0
141151

142152
- name: Login to Huawei SWR
143153
uses: docker/login-action@4907a6ddec9925e35a0a9e82d7399ccc52663121 # v4.1.0

0 commit comments

Comments
 (0)