Skip to content

Commit e12b258

Browse files
committed
add wiz scan on create PR to master (SWG-14342)
1 parent bc954d0 commit e12b258

File tree

1 file changed

+35
-15
lines changed

1 file changed

+35
-15
lines changed

.github/workflows/maven-pr-3.0.yml

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ jobs:
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

@@ -22,7 +21,7 @@ jobs:
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

Comments
 (0)