@@ -10,19 +10,27 @@ jobs:
1010 runs-on : ubuntu-latest
1111 strategy :
1212 matrix :
13- java : [ 8, 11, 17 ]
13+ java : [ 11, 17 ]
1414
1515 env :
1616 GENERATORS_VERSION_PROPERTY : " "
17+ MAVEN_USERNAME : ${{ secrets.MAVEN_CENTRAL_USERNAME }}
18+ MAVEN_PASSWORD : ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
1719 steps :
18- - uses : actions/checkout@v3
20+ - uses : actions/checkout@v4
1921 name : git checkout 3.0.0
2022 - name : Set up Java
21- uses : actions/setup-java@v3
23+ uses : actions/setup-java@v4
2224 with :
2325 java-version : ${{ matrix.java }}
2426 distribution : temurin
2527 cache : maven
28+ overwrite-settings : false
29+ - name : Add Central-Portal snapshot repo to settings.xml
30+ 31+ with :
32+ repositories : ' [{"id":"central-portal-snapshots","name":"Sonatype Central Portal snapshots","url":"https://central.sonatype.com/repository/maven-snapshots/","releases":{"enabled":false},"snapshots":{"enabled":true}}]'
33+ servers : ' [{"id":"central","username":"${{ secrets.MAVEN_CENTRAL_USERNAME }}","password":"${{ secrets.MAVEN_CENTRAL_PASSWORD }}"}]'
2634 - name : preliminary checks
2735 run : |
2836 docker login --username=${{ secrets.DOCKERHUB_SB_USERNAME }} --password=${{ secrets.DOCKERHUB_SB_PASSWORD }}
3341 /bin/bash ./bin/utils/detect_merge_conflict.sh
3442 # fail if generators contain tab '\t'
3543 /bin/bash ./bin/utils/detect_tab_in_java_class.sh
44+ cat ~/.m2/settings.xml
3645 - name : Build with Maven
3746 if : ${{ matrix.java != 8 }}
3847 run : |
@@ -53,41 +62,13 @@ jobs:
5362 if [[ $GENERATORS_FOUND == '0' ]];
5463 then
5564 echo "generators version not found"
56- rm -f maven-metadata.json
57- 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-generators/
58- LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("1."))]| .[0].text' maven-metadata.json`
59- export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
60- echo "LAST_SNAP $LAST_SNAP"
61- export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP
62- fi
63- fi
64- fi
65- echo "GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
66- echo "GENERATORS_VERSION_PROPERTY=${GENERATORS_VERSION_PROPERTY}" >> $GITHUB_ENV
67- mvn clean verify -U -DJETTY_TEST_HTTP_PORT=8070 -DJETTY_TEST_STOP_PORT=8069 ${GENERATORS_VERSION_PROPERTY}
68- - name : Build and test samples Java 8
69- if : ${{ matrix.java == 8 }}
70- run : |
71- export MY_POM_VERSION=`mvn -Dswagger-codegen-generators-version=1.0.37 -q -Dexec.executable="echo" -Dexec.args='${projects.version}' --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec`
72- echo "POM VERSION" ${MY_POM_VERSION}
73- export GENERATORS_VERSION=`sed -n 's/<swagger\-codegen\-generators\-version>\([^\s]*\)<\/swagger\-codegen\-generators\-version>/\1/p' pom.xml`
74- export GENERATORS_VERSION=`echo ${GENERATORS_VERSION} | tr -d '[:space:]'`
75- echo "GENERATORS_VERSION" ${GENERATORS_VERSION}
76- export GENERATORS_VERSION_PROPERTY=""
77- if [[ ! $MY_POM_VERSION =~ ^.*SNAPSHOT$ ]];
78- then
79- if [[ ! $GENERATORS_VERSION =~ ^.*SNAPSHOT$ ]];
80- then
81- # check release version exists
82- export GENERATORS_FOUND_JSON=`curl -s --max-time 60 --retry 15 --connect-timeout 20 https://search.maven.org/solrsearch/select?q=g:io.swagger.codegen.v3%20AND%20a:swagger-codegen-generators%20AND%20v:${GENERATORS_VERSION}%20AND%20p:jar`
83- export GENERATORS_FOUND=`echo ${GENERATORS_FOUND_JSON} | jq '.response.numFound'`
84- echo "GENERATORS_FOUND" ${GENERATORS_FOUND}
85- if [[ $GENERATORS_FOUND == '0' ]];
86- then
87- echo "generators version not found"
88- rm -f maven-metadata.json
89- 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-generators/
90- LAST_SNAP=`jq '[.data | sort_by(.lastModified) | reverse | .[] | select( .text | contains("1."))]| .[0].text' maven-metadata.json`
65+ rm -f maven-metadata.xml
66+ SNAP_API="https://central.sonatype.com/repository/maven-snapshots"
67+ ARTIFACT_PATH="io/swagger/codegen/v3/swagger-codegen-generators"
68+ ROOT_META="${SNAP_API}/${ARTIFACT_PATH}/maven-metadata.xml"
69+ LATEST_DIR=$(curl -s "$ROOT_META" | grep -oP '(?<=<version>)1\.[^<]+' | sort -V | tail -n1)
70+ SNAP_META="${SNAP_API}/${ARTIFACT_PATH}/${LATEST_DIR}/maven-metadata.xml"
71+ LAST_SNAP=$(curl -s "$SNAP_META" | grep -oP '(?<=<value>)[^<]+' | head -n1)
9172 export LAST_SNAP=${LAST_SNAP:1:${#LAST_SNAP}-2}
9273 echo "LAST_SNAP $LAST_SNAP"
9374 export GENERATORS_VERSION_PROPERTY=-Dswagger-codegen-generators-version=$LAST_SNAP
9677 fi
9778 echo "GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
9879 echo "GENERATORS_VERSION_PROPERTY=${GENERATORS_VERSION_PROPERTY}" >> $GITHUB_ENV
99- cp -a pom.java8.xml pom.xml
100- echo "Test samples - GENERATORS_VERSION_PROPERTY ${GENERATORS_VERSION_PROPERTY}"
101- mvn verify -U -Psamples -DskipTests -Dmaven.test.skip=true -Dmaven.site.skip=true -Dmaven.javadoc.skip=true -Dproject.build.sourceEncoding=UTF8 -Dfile.encoding=UTF8 ${GENERATORS_VERSION_PROPERTY}
102- cp -a pom.java11.xml pom.xml
80+ mvn clean verify -U -DJETTY_TEST_HTTP_PORT=8070 -DJETTY_TEST_STOP_PORT=8069 ${GENERATORS_VERSION_PROPERTY}
0 commit comments