Skip to content

Commit 2a4112f

Browse files
authored
Merge pull request #6003 from nscuro/fix-release-workflow
Fix release workflow
2 parents 00982b6 + 686817b commit 2a4112f

2 files changed

Lines changed: 37 additions & 54 deletions

File tree

.github/workflows/ci-publish.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
name: Publish CI
44

55
on:
6-
release:
7-
types:
8-
- created
6+
push:
7+
tags:
8+
- '[0-9]*'
99
workflow_dispatch:
1010

1111
permissions: { }

.github/workflows/ci-release.yaml

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,6 @@ jobs:
4242
4343
create-release:
4444
runs-on: ubuntu-latest
45-
permissions:
46-
contents: write # Required for pushing release branch and committing version via GitHub API
4745
needs:
4846
- prepare-release
4947

@@ -54,6 +52,8 @@ jobs:
5452
steps:
5553
- name: Checkout Repository
5654
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2
55+
with:
56+
token: ${{ secrets.BOT_RELEASE_GITHUB_TOKEN }}
5757

5858
- name: Set up JDK
5959
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # tag=v5.2.0
@@ -62,46 +62,30 @@ jobs:
6262
java-version: '21'
6363
cache: 'maven'
6464

65-
- name: Set Version
66-
run: mvn -B --no-transfer-progress versions:set -DnewVersion=${VERSION}
67-
68-
- name: Commit Version
69-
env:
70-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65+
- name: Set Version and Commit
7166
run: |-
72-
MESSAGE="prepare-release: set version to ${VERSION}"
73-
CONTENT=$(base64 -i pom.xml)
74-
75-
if [[ -z `git ls-remote --quiet --heads origin "${BRANCH_NAME}"` ]]; then
76-
SHA=$(git rev-parse ${GITHUB_REF#refs/heads/}:pom.xml)
77-
78-
# https://gist.github.com/swinton/03e84635b45c78353b1f71e41007fc7c
79-
gh api --method PUT /repos/{owner}/{repo}/contents/pom.xml \
80-
--field message="${MESSAGE}" \
81-
--field content="${CONTENT}" \
82-
--field encoding="base64" \
83-
--field branch="${GITHUB_REF_NAME}" \
84-
--field sha="${SHA}"
85-
86-
git fetch
87-
git reset --hard "origin/${GITHUB_REF_NAME}"
67+
git config user.name "dependencytrack-bot"
68+
git config user.email "106437498+dependencytrack-bot@users.noreply.github.com"
69+
70+
if [[ -z $(git ls-remote --quiet --heads origin "${BRANCH_NAME}") ]]; then
8871
git checkout -b "${BRANCH_NAME}"
89-
git push origin "${BRANCH_NAME}"
9072
else
73+
git fetch origin "${BRANCH_NAME}"
9174
git checkout "${BRANCH_NAME}"
92-
SHA=$(git rev-parse ${BRANCH_NAME}:pom.xml)
93-
94-
gh api --method PUT /repos/{owner}/{repo}/contents/pom.xml \
95-
--field message="${MESSAGE}" \
96-
--field content="${CONTENT}" \
97-
--field encoding="base64" \
98-
--field branch="${BRANCH_NAME}" \
99-
--field sha="${SHA}"
10075
fi
10176
77+
mvn -B --no-transfer-progress versions:set -DnewVersion=${VERSION}
78+
79+
git add pom.xml
80+
git commit -m "prepare-release: set version to ${VERSION}"
81+
git push origin "${BRANCH_NAME}"
82+
83+
git tag "${VERSION}"
84+
git push origin "${VERSION}"
85+
10286
- name: Create GitHub Release
10387
env:
104-
GITHUB_TOKEN: ${{ secrets.BOT_RELEASE_TOKEN }}
88+
GITHUB_TOKEN: ${{ secrets.BOT_RELEASE_GITHUB_TOKEN }}
10589
RELEASE_VERSION: ${{ needs.prepare-release.outputs.version }}
10690
RELEASE_BRANCH: ${{ needs.prepare-release.outputs.release-branch }}
10791
run: |-
@@ -114,7 +98,7 @@ jobs:
11498
post-release:
11599
runs-on: ubuntu-latest
116100
permissions:
117-
contents: write # Required to update pom.xml via GitHub API
101+
contents: write # Required to push pom.xml update
118102
needs:
119103
- prepare-release
120104
- create-release
@@ -128,22 +112,21 @@ jobs:
128112
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # tag=v6.0.2
129113
with:
130114
ref: ${{ needs.prepare-release.outputs.release-branch }}
131-
persist-credentials: false
132115

133-
- name: Set SNAPSHOT Version after Release
134-
run: mvn -B --no-transfer-progress versions:set -DnewVersion=${NEXT_VERSION}
116+
- name: Set up JDK
117+
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # tag=v5.2.0
118+
with:
119+
distribution: 'temurin'
120+
java-version: '21'
121+
cache: 'maven'
135122

136-
- name: Commit SNAPSHOT Version
137-
env:
138-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
123+
- name: Set SNAPSHOT Version after Release
139124
run: |-
140-
MESSAGE="prepare-iteration: set version to ${NEXT_VERSION}"
141-
CONTENT=$(base64 -i pom.xml)
142-
SHA=$(git rev-parse ${BRANCH_NAME}:pom.xml)
143-
144-
gh api --method PUT /repos/{owner}/{repo}/contents/pom.xml \
145-
--field message="${MESSAGE}" \
146-
--field content="${CONTENT}" \
147-
--field encoding="base64" \
148-
--field branch="${BRANCH_NAME}" \
149-
--field sha="${SHA}"
125+
git config user.name "dependencytrack-bot"
126+
git config user.email "106437498+dependencytrack-bot@users.noreply.github.com"
127+
128+
mvn -B --no-transfer-progress versions:set -DnewVersion=${NEXT_VERSION}
129+
130+
git add pom.xml
131+
git commit -m "prepare-iteration: set version to ${NEXT_VERSION}"
132+
git push origin "${BRANCH_NAME}"

0 commit comments

Comments
 (0)