Skip to content

Commit

Permalink
Migrate release process to GitHub Actions
Browse files Browse the repository at this point in the history
Complete migration to GitHub Actions.

See gh-411
  • Loading branch information
philwebb committed Jun 8, 2024
1 parent d92f210 commit 4e1a8cb
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 2 deletions.
23 changes: 23 additions & 0 deletions .github/artifacts.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"files": [
{
"aql": {
"items.find": {
"$and": [
{
"@build.name": "${buildName}",
"@build.number": "${buildNumber}",
"name": {
"$nmatch": "*.zip"
},
"name": {
"$nmatch": "*.zip.asc"
}
}
]
}
},
"target": "nexus/"
}
]
}
43 changes: 41 additions & 2 deletions .github/workflows/promote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,44 @@ jobs:
name: Promote
runs-on: ubuntu-latest
steps:
- name: Promote
run: echo "Promote happens here"
- name: Check Out
uses: actions/checkout@v4
- name: Set Up JFrog CLI
uses: jfrog/setup-jfrog-cli@7c95feb32008765e1b4e626b078dfd897c4340ad # v4.1.2
env:
JF_ENV_SPRING: ${{ secrets.JF_ARTIFACTORY_SPRING }}
- name: Download Release Artifacts
run: jf rt download --spec ./.github/artifacts.spec --spec-vars 'buildName=${{ format('spring-javaformat-{0}', inputs.version) }};buildNumber=${{ inputs.build-number }}'
- name: Check Maven Central Sync Status
id: check-sync-status
run: |
url=${{ format('https://repo.maven.apache.org/maven2/io/spring/javaformat/spring-javaformat/{0}/spring-javaformat-{0}.pom', inputs.version) }}
status_code=$( curl --write-out '%{http_code}' --head --silent --output /dev/null ${url} )
if [ "${status_code}" != 200 ] && [ "${status_code}" != 404 ]; then
echo "Unexpected status code ${status_code}"
exit 1
fi
echo "status-code=${status_code}" >> $GITHUB_OUTPUT
- name: Sync to Maven Central
if: ${{ steps.check-sync-status.outputs.status-code == '404' }}
uses: spring-io/[email protected]
with:
username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
staging-profile-name: ${{ secrets.OSSRH_S01_STAGING_PROFILE }}
create: true
upload: true
close: true
release: true
generate-checksums: true
- name: Await Maven Central Sync
if: ${{ steps.check-sync-status.outputs.status-code == '404' }}
run: |
url=${{ format('https://repo.maven.apache.org/maven2/io/spring/javaformat/spring-javaformat/{0}/spring-javaformat-{0}.pom', inputs.version) }}
echo "Waiting for $url"
until curl --fail --head --silent $url > /dev/null
do
echo "."
sleep 60
done
echo "$url is available"

0 comments on commit 4e1a8cb

Please sign in to comment.