update packages #710
Workflow file for this run
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 workflow runs the tests across Linux, Mac, Windows | |
name: KX VS Code CI Testing | |
on: | |
pull_request: | |
branches: | |
- dev | |
- main | |
jobs: | |
test: | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
- run: npm ci | |
- run: xvfb-run -a npm run coverage | |
if: runner.os == 'Linux' | |
- run: npm test | |
if: runner.os != 'Linux' | |
- name: Code coverage summary | |
if: runner.os == 'Linux' | |
uses: irongut/[email protected] | |
with: | |
filename: ./coverage-reports/cobertura-coverage.xml | |
badge: true | |
format: markdown | |
hide_branch_rate: true | |
hide_complexity: true | |
thresholds: "30 80" | |
output: "both" | |
- name: Write Coverage to Job Summary | |
if: runner.os == 'Linux' | |
run: cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY | |
- name: Upload lcov result for app-sec job | |
if: runner.os == 'Linux' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lcov | |
path: coverage-reports/lcov.info | |
retention-days: 1 | |
app-sec: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout source code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16.x | |
- name: Download lcov result from test job | |
uses: actions/download-artifact@v3 | |
with: | |
name: lcov | |
- name: Install dependencies | |
run: npm install | |
- name: SonarCloud Scan | |
uses: sonarsource/sonarqube-scan-action@master | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
- name: Sonarqube Quality Gate Check | |
id: sonarqube-quality-gate-check | |
uses: sonarsource/sonarqube-quality-gate-action@master | |
# Force to fail step after specific time | |
timeout-minutes: 5 | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} | |
- name: Snyk scan for all vulnerabilities | |
uses: snyk/actions/node@master | |
continue-on-error: true | |
env: | |
SNYK_TOKEN: ${{ secrets.pink_snyk_api_key }} | |
- name: Snyk scan for high or critical vulnerabilities | |
uses: snyk/actions/node@master | |
env: | |
SNYK_TOKEN: ${{ secrets.pink_snyk_api_key }} | |
with: | |
args: --severity-threshold=high |