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
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 : |-
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