-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Apply automated pipelines for external dependencies (#500)
* Create snyk-security.yml * Create sonarcloud.yml * Update dependabot.yml
- Loading branch information
1 parent
d99b976
commit e27fb85
Showing
3 changed files
with
108 additions
and
7 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
name: Snyk Security | ||
|
||
on: | ||
push: | ||
branches: ["dev"] | ||
schedule: | ||
- cron: '0 0 * * *' | ||
|
||
permissions: | ||
contents: read | ||
|
||
jobs: | ||
snyk: | ||
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 | ||
|
||
# Application dependencies | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 20 | ||
|
||
env: | ||
# This is where you will need to introduce the Snyk API token created with your Snyk account | ||
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} | ||
|
||
# Authenticate Snyk | ||
# Use || true to not fail the pipeline | ||
- name: Snyk Auth | ||
run: snyk auth ${{ secrets.SNYK_TOKEN }} | ||
|
||
# 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 | ||
|
||
# Install Dependencies | ||
- name: Install Dependencies | ||
run: cd GUI/ && npm install --legacy-peer-deps | ||
|
||
# Runs Snyk Open Source (SCA) analysis and uploads result to Snyk. | ||
- name: Snyk Open Source monitor | ||
run: snyk monitor --all-projects | ||
|
||
# Build the docker image for testing | ||
- name: Build a Docker image | ||
run: cd GUI/ && docker build -f Dockerfile.dev -t gui . | ||
|
||
# # Runs Snyk Container (Container and SCA) analysis and uploads result to Snyk. | ||
- name: Snyk Container monitor | ||
run: snyk container monitor gui | ||
|
||
# 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 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
name: SonarCloud analysis | ||
|
||
on: | ||
push: | ||
branches: [ "dev" ] | ||
schedule: | ||
- cron: '0 0 * * *' | ||
workflow_dispatch: | ||
|
||
permissions: | ||
pull-requests: read # allows SonarCloud to decorate PRs with analysis results | ||
|
||
jobs: | ||
Analysis: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- name: Analyze with SonarCloud | ||
# uses: SonarSource/sonarcloud-github-action@de2e56b42aa84d0b1c5b622644ac17e505c9a049 | ||
uses: sonarsource/sonarcloud-github-action@master | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information | ||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # Generate a token on Sonarcloud.io, add it to the secrets of this repo with the name SONAR_TOKEN (Settings > Secrets > Actions > add new repository secret) | ||
with: | ||
# Additional arguments for the sonarcloud scanner | ||
args: | ||
# Unique keys of your project and organization. You can find them in SonarCloud > Information (bottom-left menu) | ||
# mandatory | ||
-Dsonar.projectKey=${{ secrets.SONAR_PROJECT_KEY }} | ||
-Dsonar.organization=${{ secrets.SONAR_ORGANIZATION }} | ||
# Comma-separated paths to directories containing main source files. | ||
#-Dsonar.sources= # optional, default is project base directory | ||
# When you need the analysis to take place in a directory other than the one from which it was launched | ||
#-Dsonar.projectBaseDir= # optional, default is . | ||
# Comma-separated paths to directories containing test source files. | ||
#-Dsonar.tests= # optional. For more info about Code Coverage, please refer to https://docs.sonarcloud.io/enriching/test-coverage/overview/ | ||
# Adds more detail to both client and server-side analysis logs, activating DEBUG mode for the scanner, and adding client-side environment variables and system properties to the server-side log of analysis report processing. | ||
#-Dsonar.verbose= # optional, default is false |