1111 matrix :
1212 java : [ 11, 17 ]
1313
14- # export docker_tag from this job
1514 outputs :
1615 docker_tag : ${{ steps.build_image.outputs.tag }}
1716
2221
2322 steps :
2423 - uses : actions/checkout@v4
25- name : git checkout 3.0.0
24+ name : Checkout swagger-codegen ( 3.0.0)
2625 with :
2726 ref : 3.0.0
2827
@@ -64,26 +63,48 @@ jobs:
6463 /bin/bash ./bin/utils/detect_merge_conflict.sh
6564 /bin/bash ./bin/utils/detect_tab_in_java_class.sh
6665
66+ # ── NEW: clone & build generators before codegen ────────────────────────────
67+ - name : Resolve generators version
68+ id : gen_version
69+ run : |
70+ # extract version from codegen pom.xml
71+ VER=$(sed -n 's/.*<swagger-codegen-generators-version>\([^<]*\)<\/swagger-codegen-generators-version>.*/\1/p' pom.xml | tr -d '[:space:]')
72+ echo "GEN_VER=$VER" >> $GITHUB_OUTPUT
73+
74+ - name : Checkout swagger-codegen-generators
75+ uses : actions/checkout@v4
76+ with :
77+ repository : swagger-api/swagger-codegen-generators
78+ path : generators
79+ # assume tags are named like “v1.0.58-SNAPSHOT” or “1.0.58-SNAPSHOT”
80+ ref : ${{ steps.gen_version.outputs.GEN_VER }}
81+
82+ - name : Build & install swagger-codegen-generators
83+ run : |
84+ pushd generators
85+ mvn clean install -DskipTests -B
86+ popd
87+ # ── end generators bootstrap ───────────────────────────────────────────────
88+
6789 - name : Build with Maven
6890 if : ${{ matrix.java != 8 }}
6991 run : |
92+ # your existing logic to resolve snapshot vs release remains unchanged:
7093 export MY_POM_VERSION=$(mvn -Dswagger-codegen-generators-version=1.0.37 \
7194 -q -Dexec.executable="echo" -Dexec.args='${projects.version}' \
7295 --non-recursive org.codehaus.mojo:exec-maven-plugin:1.3.1:exec)
7396 echo "POM VERSION ${MY_POM_VERSION}"
7497
75- export GENERATORS_VERSION=$(sed -n 's/<swagger\-codegen\-generators\-version>\([^<]*\)<\/swagger\-codegen\-generators\-version>/\1/p' pom.xml | tr -d '[:space:]')
98+ export GENERATORS_VERSION=$(sed -n 's/.* <swagger\-codegen\-generators\-version>\([^<]*\)<\/swagger\-codegen\-generators\-version>.* /\1/p' pom.xml | tr -d '[:space:]')
7699 echo "GENERATORS_VERSION ${GENERATORS_VERSION}"
77100
101+ # existing snapshot-fallback logic…
78102 export GENERATORS_VERSION_PROPERTY=""
79103 if [[ ! $MY_POM_VERSION =~ SNAPSHOT ]]; then
80104 if [[ ! $GENERATORS_VERSION =~ SNAPSHOT ]]; then
81- # check release version exists on Maven Central
82- local result
83105 result=$(curl -s --max-time 60 --retry 15 \
84106 "https://search.maven.org/solrsearch/select?q=g:io.swagger.codegen.v3%20AND%20a:swagger-codegen-generators%20AND%20v:${GENERATORS_VERSION}%20AND%20p:jar")
85107 if [[ $(echo "$result" | jq '.response.numFound') -eq 0 ]]; then
86- # fall back to latest snapshot
87108 SNAP_API="https://central.sonatype.com/repository/maven-snapshots"
88109 ARTIFACT_PATH="io/swagger/codegen/v3/swagger-codegen-generators"
89110 LAST_SNAP=$(curl -s "$SNAP_API/$ARTIFACT_PATH/maven-metadata.xml" \
@@ -102,18 +123,20 @@ jobs:
102123 - name : Build Docker image
103124 id : build_image
104125 run : |
105- # construct a unique tag: repo:pr-<number>-java<version>
106126 TAG="${{ github.repository }}:pr-${{ github.event.pull_request.number }}-java${{ matrix.java }}"
107127 docker build -t "$TAG" .
108- # export as both step output and env for downstream
109128 echo "::set-output name=tag::$TAG"
110129 echo "IMAGE_TAG=$TAG" >> $GITHUB_ENV
111130
112131 scan-with-wiz :
113132 name : Trigger Wiz Scanning
114133 runs-on : ubuntu-latest
115- needs : [ build_pr_30 ]
116- if : success()
134+ needs : build_pr_30
135+ if : needs.build_pr_30.result == 'success'
136+
137+ env :
138+ TAG : ${{ needs.build_pr_30.outputs.docker_tag }}
139+ POLICY : " SmartBear default vulnerabilities policy"
117140
118141 steps :
119142 - name : Authenticate to Wiz
@@ -124,8 +147,5 @@ jobs:
124147
125148 - name : Run wiz-cli docker image scan
126149 run : |
127- ./wizcli docker scan --image $TAG --policy "$POLICY"
128- ./wizcli docker tag --image $TAG
129- env :
130- TAG : ${{ needs.build_pr_30.outputs.docker_tag }}
131- POLICY : " SmartBear default vulnerabilities policy"
150+ ./wizcli docker scan --image "$TAG" --policy "$POLICY"
151+ ./wizcli docker tag --image "$TAG"
0 commit comments