@@ -3,81 +3,20 @@ name: Delivery
33on :
44 push :
55 branches : [main]
6+ release :
7+ types : [published]
68 pull_request :
79 branches : [main]
810 workflow_dispatch :
911
10- jobs :
11- release-plz :
12- if : github.event_name != 'pull_request'
13- runs-on : ubuntu-latest
14- permissions :
15- contents : write
16- pull-requests : write
17- id-token : write
18- outputs :
19- tag : ${{ steps.tag.outputs.tag }}
20- is_release : ${{ steps.tag.outputs.is_release }}
21- steps :
22- - name : Checkout repository
23- uses : actions/checkout@v6
24- with :
25- fetch-depth : 0
26- persist-credentials : false
27-
28- - name : Install Rust toolchain
29- uses : dtolnay/rust-toolchain@stable
30-
31- - name : Run release-plz release
32- uses : release-plz/action@v0.5
33- with :
34- command : release
35- env :
36- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
37- # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
38-
39- - name : Detect release tag
40- id : tag
41- run : |
42- git fetch --tags
43- TAG=$(git tag --points-at HEAD | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+' | head -1)
44- echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
45- echo "is_release=$([[ -n "${TAG}" ]] && echo true || echo false)" >> "$GITHUB_OUTPUT"
46-
47- release-plz-pr :
48- needs : release-plz
49- runs-on : ubuntu-latest
50- permissions :
51- contents : write
52- pull-requests : write
53- concurrency :
54- group : release-plz-${{ github.ref }}
55- cancel-in-progress : false
56- steps :
57- - name : Checkout repository
58- uses : actions/checkout@v6
59- with :
60- fetch-depth : 0
61- persist-credentials : false
62-
63- - name : Install Rust toolchain
64- uses : dtolnay/rust-toolchain@stable
65-
66- - name : Run release-plz release-pr
67- uses : release-plz/action@v0.5
68- with :
69- command : release-pr
70- env :
71- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72- # CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
12+ permissions :
13+ contents : read
14+ packages : write
15+ security-events : write
7316
17+ jobs :
7418 build-amd64 :
7519 runs-on : ubuntu-latest
76- needs : [release-plz]
77- if : always() && (needs.release-plz.result == 'success' || needs.release-plz.result == 'skipped')
78- permissions :
79- packages : write
80- security-events : write
8120 outputs :
8221 digest : ${{ steps.build.outputs.digest }}
8322 steps :
8928 - name : Select build profile
9029 id : config
9130 run : |
92- if [[ "${{ needs.release-plz.outputs.is_release }}" == "true " ]]; then
31+ if [[ "${{ github.event_name }}" == "release " ]]; then
9332 echo "profile=release" >> "$GITHUB_OUTPUT"
9433 else
9534 echo "profile=edge" >> "$GITHUB_OUTPUT"
@@ -136,10 +75,6 @@ jobs:
13675
13776 build-arm64 :
13877 runs-on : ubuntu-24.04-arm
139- needs : [release-plz]
140- if : always() && (needs.release-plz.result == 'success' || needs.release-plz.result == 'skipped')
141- permissions :
142- packages : write
14378 outputs :
14479 digest : ${{ steps.build.outputs.digest }}
14580 steps :
15186 - name : Select build profile
15287 id : config
15388 run : |
154- if [[ "${{ needs.release-plz.outputs.is_release }}" == "true " ]]; then
89+ if [[ "${{ github.event_name }}" == "release " ]]; then
15590 echo "profile=release" >> "$GITHUB_OUTPUT"
15691 else
15792 echo "profile=edge" >> "$GITHUB_OUTPUT"
@@ -182,20 +117,17 @@ jobs:
182117
183118 merge :
184119 runs-on : ubuntu-latest
185- needs : [release-plz, build-amd64, build-arm64]
186- if : always() && (needs.build-amd64.result == 'success' && needs.build-arm64.result == 'success')
187- permissions :
188- packages : write
120+ needs : [build-amd64, build-arm64]
189121 steps :
190122 - name : Docker meta
191123 id : meta
192124 uses : docker/metadata-action@v6
193125 with :
194126 images : ghcr.io/${{ github.repository }}
195127 tags : |
196- type=semver,pattern={{version}},value=${{ needs. release-plz.outputs.tag }},enable=${{ needs.release-plz.outputs.is_release == 'true ' }}
197- type=semver,pattern={{major}}.{{minor}},value=${{ needs. release-plz.outputs.tag }},enable=${{ needs.release-plz.outputs.is_release == 'true ' }}
198- type=edge,enable=${{ needs.release-plz.outputs.is_release != 'true ' }}
128+ type=semver,pattern={{version}},value=${{ github.event. release.tag_name }},enable=${{ github.event_name == 'release ' }}
129+ type=semver,pattern={{major}}.{{minor}},value=${{ github.event. release.tag_name }},enable=${{ github.event_name == 'release ' }}
130+ type=edge,enable=${{ github.event_name != 'release ' }}
199131 type=ref,event=pr
200132 type=ref,event=branch,enable=${{ github.event_name == 'workflow_dispatch' }}
201133
0 commit comments