@@ -11,18 +11,24 @@ jobs:
11
11
strategy :
12
12
matrix :
13
13
java : [ 11, 17 ]
14
-
15
- env :
16
- GENERATORS_VERSION_PROPERTY : " "
17
14
steps :
18
- - uses : actions/checkout@v3
15
+ - uses : actions/checkout@v4
19
16
name : git checkout
20
17
- name : Set up Java
21
- uses : actions/setup-java@v3
18
+ uses : actions/setup-java@v4
22
19
with :
23
20
java-version : ${{ matrix.java }}
24
21
distribution : temurin
25
- cache : maven
22
+ server-id : central
23
+ server-username : MAVEN_USERNAME
24
+ server-password : MAVEN_PASSWORD
25
+ - name : Cache local Maven repository
26
+ uses : actions/cache@v4
27
+ with :
28
+ path : ~/.m2/repository
29
+ key : ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
30
+ restore-keys : |
31
+ ${{ runner.os }}-maven-
26
32
- name : preliminary checks
27
33
run : |
28
34
docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
33
39
/bin/bash ./bin/utils/detect_merge_conflict.sh
34
40
# fail if generators contain tab '\t'
35
41
/bin/bash ./bin/utils/detect_tab_in_java_class.sh
36
-
37
- name : setup maven settings.xml
38
- with :
39
- servers : |
40
- [{
41
- "id": "sonatype-nexus-staging",
42
- "username": "${{ secrets.OSSRH_USERNAME }}",
43
- "password": "${{ secrets.OSSRH_TOKEN }}"
44
- },
45
- {
46
- "id": "sonatype-nexus-snapshots",
47
- "username": "${{ secrets.OSSRH_USERNAME }}",
48
- "password": "${{ secrets.OSSRH_TOKEN }}"
49
- }]
50
42
- name : Build with Maven
51
43
run : |
52
44
export MY_POM_VERSION=`mvn -Dswagger-codegen-version=3.0.38 -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
66
58
if [[ $CODEGEN_FOUND == '0' ]];
67
59
then
68
60
echo "codegen version not found"
69
- rm -f maven-metadata.json
70
- curl -o maven-metadata.json -s --max-time 60 --retry 15 --connect-timeout 30 -H "accept: application/json" https://oss.sonatype.org/service/local/repositories/snapshots/content/io/swagger/codegen/v3/swagger-codegen/
71
- LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("3."))]| .[0].text' maven-metadata.json`
61
+ rm -f maven-metadata.xml
62
+ SNAP_API="https://central.sonatype.com/repository/maven-snapshots"
63
+ ARTIFACT_PATH="io/swagger/codegen/v3/swagger-codegen"
64
+ ROOT_META="${SNAP_API}/${ARTIFACT_PATH}/maven-metadata.xml"
65
+ LATEST_DIR=$(curl -s "$ROOT_META" | grep -oP '(?<=<version>)3\.[^<]+' | sort -V | tail -n1)
66
+ SNAP_META="${SNAP_API}/${ARTIFACT_PATH}/${LATEST_DIR}/maven-metadata.xml"
67
+ LAST_SNAP=$(curl -s "$SNAP_META" | grep -oP '(?<=<value>)[^<]+' | head -n1)
72
68
export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
73
69
echo "LAST_SNAP $LAST_SNAP"
74
70
export CODEGEN_VERSION_PROPERTY=-Dswagger-codegen-version=$LAST_SNAP
78
74
echo "CODEGEN_VERSION_PROPERTY ${CODEGEN_VERSION_PROPERTY}"
79
75
echo "CODEGEN_VERSION_PROPERTY=${CODEGEN_VERSION_PROPERTY}" >> $GITHUB_ENV
80
76
./mvnw clean verify -U ${CODEGEN_VERSION_PROPERTY}
77
+ env :
78
+ GENERATORS_VERSION_PROPERTY : " "
79
+ MAVEN_USERNAME : ${{ secrets.MAVEN_CENTRAL_USERNAME }}
80
+ MAVEN_PASSWORD : ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
0 commit comments