Merge pull request #18 from ronaldosc/snyk-fix-bca130e4458d917c251ed5… #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Snyk Security | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
permissions: | |
contents: read | |
jobs: | |
security: | |
permissions: | |
contents: read # for actions/checkout to fetch code | |
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results | |
actions: read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Snyk CLI to check for security issues | |
# Snyk can be used to break the build when it detects security issues. | |
# In this case we want to upload the SAST issues to GitHub Code Scanning | |
uses: snyk/actions/setup@806182742461562b67788a64410098c9d9b96adb | |
# For Snyk Open Source you must first set up the development environment for your application's dependencies | |
# For example for Node | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
env: | |
# This is where you will need to introduce the Snyk API token created with your Snyk account | |
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | |
# Authenticates with the Snyk token provided. | |
# Using arg -d provides debugging. | |
- name: Authenticate Snyk | |
run: snyk config set api=$SNYK_TOKEN | |
continue-on-error: true | |
# Runs Snyk Code (SAST) analysis and uploads result into GitHub. | |
# Use || true to not fail the pipeline | |
- name: Snyk Code test | |
run: snyk code test --sarif > snyk-code.sarif # || true | |
continue-on-error: true | |
# Runs Snyk Open Source (SCA) analysis and uploads result to Snyk. | |
- name: Snyk Open Source monitor | |
run: snyk monitor --all-projects | |
continue-on-error: true | |
# Runs Snyk Infrastructure as Code (IaC) analysis and uploads result to Snyk. | |
# Use || true to not fail the pipeline. | |
- name: Snyk IaC test and report | |
run: snyk iac test --report # || true | |
continue-on-error: true | |
# Build the docker image for testing | |
- name: Prepare frontend... | |
working-directory: client/ | |
run: | | |
yarn type-check | |
yarn lint | |
continue-on-error: true | |
- name: Prepare backend... | |
working-directory: server/ | |
run: npm test | |
continue-on-error: true | |
# - name: Check all integration | |
# run: | | |
# cp server/.env.example server/.env | |
# docker compose up -d | |
# Runs Snyk Container (Container and SCA) analysis and uploads result to Snyk. | |
# - name: Snyk Container monitor | |
# run: snyk container monitor chat-rpg:1.0 --file=Dockerfile | |
# continue-on-error: true | |
# Push the Snyk Code results into GitHub Code Scanning tab | |
# - name: Upload result to GitHub Code Scanning | |
# uses: github/codeql-action/upload-sarif@v2 | |
# with: | |
# sarif_file: snyk-code.sarif | |
... |