1+
2+ ---
3+ # This workflow integrates ShiftLeft NG SAST with GitHub
4+ # Visit https://docs.shiftleft.io for help
5+ name : ShiftLeft
6+
7+ on :
8+ pull_request :
9+ workflow_dispatch :
10+
11+ jobs :
12+ NextGen-Static-Analysis :
13+ runs-on : ubuntu-latest
14+ steps :
15+ - uses : actions/checkout@v3
16+ # We are building this application with Java 11
17+ - name : Setup Java JDK
18+ uses : actions/setup-java@v3
19+ with :
20+ java-version : 11.0.x
21+ distribution : zulu
22+ - name : Package with maven
23+ run : mvn compile package
24+ - name : Download ShiftLeft CLI
25+ run : |
26+ curl https://cdn.shiftleft.io/download/sl > ${GITHUB_WORKSPACE}/sl && chmod a+rx ${GITHUB_WORKSPACE}/sl
27+ # ShiftLeft requires Java 1.8. Post the package step override the version
28+ - name : Setup Java JDK
29+ uses : actions/setup-java@v3
30+ with :
31+ distribution : zulu
32+ java-version : 8
33+ - name : Extract branch name
34+ shell : bash
35+ run : echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
36+ id : extract_branch
37+ - name : NextGen Static Analysis
38+ run : ${GITHUB_WORKSPACE}/sl analyze --strict --wait --app shiftleft-java-demo --tag branch=${{ github.head_ref || steps.extract_branch.outputs.branch }} --vcs-prefix-correction "io/shiftleft=src/main/java/" --java --cpg --container 18fgsa/s3-resource target/hello-shiftleft-0.0.1.jar
39+ env :
40+ SHIFTLEFT_ACCESS_TOKEN : ${{ secrets.SHIFTLEFT_ACCESS_TOKEN }}
41+ SHIFTLEFT_API_HOST : www.shiftleft.io
42+ SHIFTLEFT_GRPC_TELEMETRY_HOST : telemetry.shiftleft.io:443
43+ SHIFTLEFT_GRPC_API_HOST : api.shiftleft.io:443
44+ Build-Rules :
45+ runs-on : ubuntu-latest
46+ needs : NextGen-Static-Analysis
47+ steps :
48+ - uses : actions/checkout@v3
49+ - name : Download ShiftLeft CLI
50+ run : |
51+ curl https://cdn.shiftleft.io/download/sl > ${GITHUB_WORKSPACE}/sl && chmod a+rx ${GITHUB_WORKSPACE}/sl
52+ - name : Validate Build Rules
53+ run : |
54+ ${GITHUB_WORKSPACE}/sl check-analysis --app shiftleft-java-demo \
55+ --github-pr-number=${{github.event.number}} \
56+ --github-pr-user=${{ github.repository_owner }} \
57+ --github-pr-repo=${{ github.event.repository.name }} \
58+ --github-token=${{ secrets.GITHUB_TOKEN }}
59+ env :
60+ SHIFTLEFT_ACCESS_TOKEN : ${{ secrets.SHIFTLEFT_ACCESS_TOKEN }}
61+ SHIFTLEFT_API_HOST : www.shiftleft.io
62+ SHIFTLEFT_GRPC_TELEMETRY_HOST : telemetry.shiftleft.io:443
63+ SHIFTLEFT_GRPC_API_HOST : api.shiftleft.io:443
64+
0 commit comments