Skip to content

Commit 944e0c6

Browse files
committed
Migrate release process to GitHub Actions
Complete migration to GitHub Actions. See gh-411
1 parent d92f210 commit 944e0c6

File tree

2 files changed

+62
-2
lines changed

2 files changed

+62
-2
lines changed

Diff for: .github/artifacts.spec

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"files": [
3+
{
4+
"aql": {
5+
"items.find": {
6+
"$and": [
7+
{
8+
"@build.name": "${buildName}",
9+
"@build.number": "${buildNumber}",
10+
"path": {
11+
"$nmatch": "*.zip"
12+
}
13+
}
14+
]
15+
}
16+
},
17+
"target": "nexus/"
18+
}
19+
]
20+
}

Diff for: .github/workflows/promote.yml

+42-2
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,45 @@ jobs:
3333
name: Promote
3434
runs-on: ubuntu-latest
3535
steps:
36-
- name: Promote
37-
run: echo "Promote happens here"
36+
- name: Check Out
37+
uses: actions/checkout@v4
38+
- name: Set Up JFrog CLI
39+
uses: jfrog/setup-jfrog-cli@7c95feb32008765e1b4e626b078dfd897c4340ad # v4.1.2
40+
env:
41+
JF_ENV_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
42+
- name: Download Release Artifacts
43+
shell: bash
44+
run: jf rt download --spec ./.github/artifacts.spec --spec-vars 'buildName=${{ format('spring-javaformat-{0}', inputs.version) }};buildNumber=${{ inputs.build-number }}'
45+
- name: Check Maven Central Sync Status
46+
id: check-sync-status
47+
run: |
48+
url=${{ format('https://repo.maven.apache.org/maven2/io/spring/javaformat/spring-javaformat/{0}/spring-javaformat-{0}.pom', inputs.version) }}
49+
status_code=$( curl --write-out '%{http_code}' --head --silent --output /dev/null ${url} )
50+
if [ "${status_code}" != 200 ] && [ "${status_code}" != 404 ]; then
51+
echo "Unexpected status code ${status_code}"
52+
exit 1
53+
fi
54+
echo "status-code=${status_code}" >> $GITHUB_OUTPUT
55+
- name: Sync to Maven Central
56+
if: ${{ steps.check-sync-status.outputs.status-code == '404' }}
57+
uses: spring-io/[email protected]
58+
with:
59+
username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
60+
password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
61+
staging-profile-name: ${{ secrets.OSSRH_S01_STAGING_PROFILE }}
62+
create: true
63+
upload: true
64+
close: true
65+
release: true
66+
generate-checksums: true
67+
- name: Await Maven Central Sync
68+
if: ${{ steps.check-sync-status.outputs.status-code == '404' }}
69+
run: |
70+
url=${{ format('https://repo.maven.apache.org/maven2/io/spring/javaformat/spring-javaformat/{0}/spring-javaformat-{0}.pom', inputs.version) }}
71+
echo "Waiting for $url"
72+
until curl --fail --head --silent $url > /dev/null
73+
do
74+
echo "."
75+
sleep 60
76+
done
77+
echo "$url is available"

0 commit comments

Comments
 (0)