@@ -3,81 +3,30 @@ name: Maven Central Release
3
3
on :
4
4
workflow_dispatch :
5
5
inputs :
6
- releaseVersion :
7
- description : " Release version"
6
+ buildName :
7
+ description : " Artifactory build name"
8
+ required : true
9
+ buildNumber :
10
+ description : " Artifactory build number"
8
11
required : true
9
12
10
13
jobs :
11
- build :
14
+
15
+ release :
12
16
runs-on : ubuntu-latest
13
17
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
27
22
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
71
29
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