Skip to content

Commit b97b179

Browse files
committed
chore(release): use own GH app for releasing
Signed-off-by: Jan Kowalleck <jan.kowalleck@gmail.com>
1 parent e492b84 commit b97b179

2 files changed

Lines changed: 22 additions & 4 deletions

File tree

.github/workflows/release.yml

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,30 @@ jobs:
103103
id-token: write
104104
contents: write
105105
steps:
106+
- name: Generate GitHub App Token
107+
id: release-bot-token
108+
# see https://github.com/actions/create-github-app-token
109+
uses: actions/create-github-app-token@v3
110+
with:
111+
# see https://github.com/organizations/CycloneDX/settings/apps/cyclonedx-internal-release-bot
112+
app-id: 3335294
113+
- name: Get GitHub App User ID
114+
id: release-bot-user-id
115+
run: echo "user-id=$(gh api "/users/${{ steps.app-token.outputs.app-slug }}[bot]" --jq .id)" >> "$GITHUB_OUTPUT"
116+
env:
117+
GH_TOKEN: ${{ steps.release-bot-token.outputs.token }}
118+
106119
- name: Checkout code
107120
# see https://github.com/actions/checkout
108121
uses: actions/checkout@v6
109122
with:
110123
fetch-depth: 0
124+
token: ${{ steps.release-bot-token.outputs.token }}
125+
- name: git config
126+
run: |
127+
git config user.name '${{ steps.app-token.outputs.app-slug }}[bot]'
128+
git config user.email '${{ steps.get-user-id.outputs.user-id }}+${{ steps.app-token.outputs.app-slug }}[bot]@users.noreply.github.com'
129+
git config commit.signoff true
111130
112131
- name: Setup python
113132
# see https://github.com/actions/setup-python
@@ -134,7 +153,7 @@ jobs:
134153
# see https://github.com/python-semantic-release/python-semantic-release
135154
uses: python-semantic-release/python-semantic-release@v10.0.2
136155
with:
137-
github_token: ${{ secrets.GITHUB_TOKEN }}
156+
github_token: ${{ steps.release-bot-token.outputs.token }}
138157
force: ${{ github.event.inputs.release_force }}
139158
prerelease: ${{ github.event.inputs.prerelease }}
140159
prerelease_token: ${{ github.event.inputs.prerelease_token }}
@@ -151,5 +170,5 @@ jobs:
151170
# see https://python-semantic-release.readthedocs.io/en/latest/automatic-releases/github-actions.html#python-semantic-release-publish-action
152171
uses: python-semantic-release/publish-action@v10
153172
with:
154-
github_token: ${{ secrets.GITHUB_TOKEN }}
173+
github_token: ${{ steps.release-bot-token.outputs.token }}
155174
tag: ${{ steps.release.outputs.tag }}

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ jsonschema = { version = "*", extras = ["format"], optional=true }
115115
logging_use_named_masks = true
116116
commit_parser = "conventional"
117117
commit_parser_options = { parse_squash_commits = true, ignore_merge_commits = true }
118-
commit_author = "semantic-release <semantic-release@bot.local>"
119-
commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release\n\nSigned-off-by: semantic-release <semantic-release@bot.local>"
118+
commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release"
120119
upload_to_vcs_release = true
121120
build_command = """
122121
pip install poetry

0 commit comments

Comments
 (0)