|
1 | | -name: Snyk Security Scan |
| 1 | +name: Snyk Security Scan (CLI) |
2 | 2 |
|
3 | 3 | on: |
4 | 4 | push: |
5 | | - branches: [ main, master, develop ] |
| 5 | + branches: [ main, master ] |
6 | 6 | pull_request: |
7 | | - branches: [ main, master, develop ] |
8 | | - schedule: |
9 | | - # Run every day at 2 AM UTC |
10 | | - - cron: '0 2 * * *' |
11 | 7 | workflow_dispatch: |
12 | 8 |
|
13 | 9 | jobs: |
14 | | - snyk-scan: |
| 10 | + security: |
15 | 11 | runs-on: ubuntu-latest |
16 | 12 |
|
17 | | - permissions: |
18 | | - contents: read |
19 | | - security-events: write |
20 | | - actions: read |
21 | | - |
22 | 13 | steps: |
23 | | - - name: Checkout code |
24 | | - uses: actions/checkout@v4 |
| 14 | + - uses: actions/checkout@v4 |
25 | 15 |
|
26 | | - - name: Set up Node.js (if needed for your project) |
| 16 | + - name: Set up Node.js |
27 | 17 | uses: actions/setup-node@v4 |
28 | 18 | with: |
29 | 19 | node-version: '20' |
30 | 20 |
|
31 | | - # Install dependencies if needed |
| 21 | + - name: Install Snyk CLI |
| 22 | + run: npm install -g snyk |
| 23 | + |
| 24 | + - name: Authenticate Snyk |
| 25 | + run: snyk auth ${{ secrets.SNYK_TOKEN }} |
| 26 | + |
32 | 27 | - name: Install dependencies |
| 28 | + if: hashFiles('package.json') != '' |
33 | 29 | run: npm install |
34 | | - # Use 'pip install -r requirements.txt' for Python |
35 | | - # Use 'mvn install' for Java/Maven |
36 | | - # Or appropriate command for your stack |
37 | 30 |
|
38 | | - - name: Run Snyk to check for vulnerabilities |
39 | | - uses: snyk/actions/node@master |
40 | | - # Change to snyk/actions/python@master for Python |
41 | | - # Change to snyk/actions/maven@master for Maven |
42 | | - # Change to snyk/actions/docker@master for Docker |
43 | | - continue-on-error: true |
44 | | - env: |
45 | | - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} |
46 | | - with: |
47 | | - args: --severity-threshold=high |
| 31 | + - name: Run Snyk test |
| 32 | + run: snyk test --all-projects || true |
48 | 33 |
|
49 | | - - name: Upload Snyk results to GitHub Code Scanning |
50 | | - uses: github/codeql-action/upload-sarif@v3 |
51 | | - with: |
52 | | - sarif_file: snyk.sarif |
53 | | - |
54 | | - snyk-monitor: |
55 | | - runs-on: ubuntu-latest |
56 | | - if: github.event_name == 'push' |
57 | | - |
58 | | - steps: |
59 | | - - name: Checkout code |
60 | | - uses: actions/checkout@v4 |
61 | | - |
62 | | - - name: Run Snyk Monitor |
63 | | - uses: snyk/actions/node@master |
64 | | - env: |
65 | | - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} |
66 | | - with: |
67 | | - command: monitor |
| 34 | + - name: Run Snyk monitor |
| 35 | + if: github.event_name == 'push' |
| 36 | + run: snyk monitor --all-projects || true |
0 commit comments