@@ -3,81 +3,30 @@ name: Maven Central Release
33on :
44 workflow_dispatch :
55 inputs :
6- releaseVersion :
7- description : " Release version"
6+ buildName :
7+ description : " Artifactory build name"
8+ required : true
9+ buildNumber :
10+ description : " Artifactory build number"
811 required : true
912
1013jobs :
11- build :
14+
15+ release :
1216 runs-on : ubuntu-latest
1317 steps :
14-
15- - name : Capture release version
16- run : echo RELEASE_VERSION=${{ github.event.inputs.releaseVersion }} >> $GITHUB_ENV
17-
18- - name : Prepare directory structure
19- run : |
20- mkdir -p nexus/org/springframework/batch/spring-batch-bom/$RELEASE_VERSION
21- mkdir -p nexus/org/springframework/batch/spring-batch-infrastructure/$RELEASE_VERSION
22- mkdir -p nexus/org/springframework/batch/spring-batch-core/$RELEASE_VERSION
23- mkdir -p nexus/org/springframework/batch/spring-batch-test/$RELEASE_VERSION
24- mkdir -p nexus/org/springframework/batch/spring-batch-integration/$RELEASE_VERSION
25-
26- - name : Download release files from Artifactory
18+ - name : Checkout source code
19+ uses : actions/checkout@v4.2.2
20+ - name : Set Up JFrog CLI
21+ uses : jfrog/setup-jfrog-cli@9fe0f98bd45b19e6e931d457f4e98f8f84461fb5 # v4.4.1
2722 env :
28- ARTIFACTORY_URL : " https://repo.spring.io/libs-staging-local/org/springframework/batch"
29- ARTIFACTORY_USERNAME : ${{ secrets.ARTIFACTORY_USERNAME }}
30- ARTIFACTORY_PASSWORD : ${{ secrets.ARTIFACTORY_PASSWORD }}
31- run : |
32- echo "Downloading BOM artifacts"
33- cd nexus/org/springframework/batch/spring-batch-bom/$RELEASE_VERSION
34- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-bom/$RELEASE_VERSION/spring-batch-bom-$RELEASE_VERSION.pom
35-
36- echo "Downloading infrastructure artifacts"
37- cd ../../../../../..
38- cd nexus/org/springframework/batch/spring-batch-infrastructure/$RELEASE_VERSION
39- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-infrastructure/$RELEASE_VERSION/spring-batch-infrastructure-$RELEASE_VERSION.pom
40- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-infrastructure/$RELEASE_VERSION/spring-batch-infrastructure-$RELEASE_VERSION.jar
41- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-infrastructure/$RELEASE_VERSION/spring-batch-infrastructure-$RELEASE_VERSION-javadoc.jar
42- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-infrastructure/$RELEASE_VERSION/spring-batch-infrastructure-$RELEASE_VERSION-sources.jar
43-
44- echo "Downloading core artifacts"
45- cd ../../../../../..
46- cd nexus/org/springframework/batch/spring-batch-core/$RELEASE_VERSION
47- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-core/$RELEASE_VERSION/spring-batch-core-$RELEASE_VERSION.pom
48- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-core/$RELEASE_VERSION/spring-batch-core-$RELEASE_VERSION.jar
49- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-core/$RELEASE_VERSION/spring-batch-core-$RELEASE_VERSION-javadoc.jar
50- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-core/$RELEASE_VERSION/spring-batch-core-$RELEASE_VERSION-sources.jar
51-
52- echo "Downloading test artifacts"
53- cd ../../../../../..
54- cd nexus/org/springframework/batch/spring-batch-test/$RELEASE_VERSION
55- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-test/$RELEASE_VERSION/spring-batch-test-$RELEASE_VERSION.pom
56- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-test/$RELEASE_VERSION/spring-batch-test-$RELEASE_VERSION.jar
57- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-test/$RELEASE_VERSION/spring-batch-test-$RELEASE_VERSION-javadoc.jar
58- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-test/$RELEASE_VERSION/spring-batch-test-$RELEASE_VERSION-sources.jar
59-
60- echo "Downloading integration artifacts"
61- cd ../../../../../..
62- cd nexus/org/springframework/batch/spring-batch-integration/$RELEASE_VERSION
63- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-integration/$RELEASE_VERSION/spring-batch-integration-$RELEASE_VERSION.pom
64- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-integration/$RELEASE_VERSION/spring-batch-integration-$RELEASE_VERSION.jar
65- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-integration/$RELEASE_VERSION/spring-batch-integration-$RELEASE_VERSION-javadoc.jar
66- wget --user="$ARTIFACTORY_USERNAME" --password="$ARTIFACTORY_PASSWORD" $ARTIFACTORY_URL/spring-batch-integration/$RELEASE_VERSION/spring-batch-integration-$RELEASE_VERSION-sources.jar
67-
68- - name : Sign artifacts and release them to Maven Central
69- uses : jvalkeal/nexus-sync@v0
70- id : nexus
23+ JF_ENV_SPRING : ${{ secrets.JF_ARTIFACTORY_SPRING }}
24+ - name : Download Release Artifacts
25+ shell : bash
26+ run : jf rt download --spec .github/release-files-spec.json --spec-vars 'buildname=${{ github.event.inputs.buildName }};buildnumber=${{ github.event.inputs.buildNumber }}'
27+ - name : Sync to Maven Central
28+ uses : spring-io/central-publish-action@0cdd90d12e6876341e82860d951e1bcddc1e51b6 # v0.2.0
7129 with :
72- url : ${{ secrets.OSSRH_URL }}
73- username : ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
74- password : ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
75- staging-profile-name : ${{ secrets.OSSRH_STAGING_PROFILE_NAME }}
76- create : true
77- upload : true
78- close : true
79- release : true
80- generate-checksums : true
81- pgp-sign : true
82- pgp-sign-passphrase : ${{ secrets.GPG_PASSPHRASE }}
83- pgp-sign-private-key : ${{ secrets.GPG_PRIVATE_KEY }}
30+ token-name : ${{ secrets.CENTRAL_TOKEN_USERNAME }}
31+ token : ${{ secrets.CENTRAL_TOKEN_PASSWORD }}
32+ timeout : 60m
0 commit comments