Skip to content

Commit 8b0ae50

Browse files
author
ShiftLeft
committed
adding ShiftLeft GitHub action
1 parent 4956320 commit 8b0ae50

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed

.github/workflows/shiftleft.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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

Comments
 (0)