Skip to content

Commit b9f48ed

Browse files
committed
try the rlsplz way
1 parent e31b597 commit b9f48ed

2 files changed

Lines changed: 72 additions & 81 deletions

File tree

.github/workflows/delivery.yml

Lines changed: 13 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -3,81 +3,20 @@ name: Delivery
33
on:
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:
@@ -89,7 +28,7 @@ jobs:
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:
@@ -151,7 +86,7 @@ jobs:
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

.github/workflows/release-plz.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Release-plz
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
10+
# Release unpublished packages.
11+
release-plz-release:
12+
name: Release-plz release
13+
runs-on: ubuntu-latest
14+
permissions:
15+
contents: write
16+
pull-requests: read
17+
id-token: write
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v6
21+
with:
22+
fetch-depth: 0
23+
persist-credentials: false
24+
- name: Install Rust toolchain
25+
uses: dtolnay/rust-toolchain@stable
26+
- name: Run release-plz
27+
uses: release-plz/action@v0.5
28+
with:
29+
command: release
30+
env:
31+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32+
# CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
33+
34+
# Create a PR with the new versions and changelog, preparing the next release.
35+
release-plz-pr:
36+
name: Release-plz PR
37+
needs: release-plz-release
38+
runs-on: ubuntu-latest
39+
permissions:
40+
contents: write
41+
pull-requests: write
42+
concurrency:
43+
group: release-plz-${{ github.ref }}
44+
cancel-in-progress: false
45+
steps:
46+
- name: Checkout repository
47+
uses: actions/checkout@v6
48+
with:
49+
fetch-depth: 0
50+
persist-credentials: false
51+
- name: Install Rust toolchain
52+
uses: dtolnay/rust-toolchain@stable
53+
- name: Run release-plz
54+
uses: release-plz/action@v0.5
55+
with:
56+
command: release-pr
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59+
# CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

0 commit comments

Comments
 (0)