Skip to content

Commit 65180a1

Browse files
committed
Enhance GitHub actions workflows
- Improve GitHub Actions workflows for manual and automated releases - Define permissions and job dependencies for more organized release process
1 parent b969126 commit 65180a1

File tree

3 files changed

+60
-7
lines changed

3 files changed

+60
-7
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
pull_request:
88
branches:
99
- main
10+
workflow_dispatch:
1011

1112
jobs:
1213
build:
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Pull Request Release
2+
3+
on:
4+
pull_request:
5+
types: [opened, reopened, synchronize]
6+
pull_request_target:
7+
types: [opened, reopened, synchronize]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
pull-request-release:
14+
permissions:
15+
contents: write
16+
pull-requests: write
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: release-drafter/release-drafter@v5
20+
env:
21+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yaml

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
permissions: write-all
1111

1212
jobs:
13-
release:
13+
draft-release:
1414
runs-on: ubuntu-latest
1515

1616
outputs:
@@ -20,25 +20,56 @@ jobs:
2020
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2121

2222
steps:
23+
- uses: actions/checkout@v4
2324
- uses: release-drafter/release-drafter@v5
2425
id: drafter
25-
with:
26-
publish: false
2726

28-
publish:
27+
publish-package:
2928
runs-on: ubuntu-latest
30-
needs: release
29+
needs: draft-release
30+
31+
strategy:
32+
matrix:
33+
arch: [linux/amd64, linux/arm64]
3134

3235
env:
3336
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3437
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
38+
VERSION: ${{ needs.draft-release.outputs.tag_name }}
3539

3640
steps:
3741
- uses: actions/checkout@v4
3842
- uses: asdf-vm/actions/install@v3
39-
- run: make publish
43+
- run: make publish-package
44+
45+
publish-image:
46+
runs-on: ubuntu-latest
47+
needs: draft-release
48+
49+
strategy:
50+
matrix:
51+
arch: [linux/amd64, linux/arm64]
52+
53+
env:
54+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55+
VERSION: ${{ needs.draft-release.outputs.tag_name }}
56+
57+
steps:
58+
- uses: actions/checkout@v4
59+
- uses: docker/setup-qemu-action@v3
60+
- uses: docker/setup-buildx-action@v3
61+
- run: make publish-image
4062
env:
41-
VERSION: ${{ needs.release.outputs.tag_name }}
63+
DOCKER_DEFAULT_PLATFORM: ${{ matrix.arch }}
64+
65+
publish-release:
66+
runs-on: ubuntu-latest
67+
needs:
68+
- publish-package
69+
- publish-image
70+
71+
steps:
72+
- uses: actions/checkout@v4
4273
- uses: release-drafter/release-drafter@v5
4374
with:
4475
publish: true

0 commit comments

Comments
 (0)