3232 ".catalogue.registry_repo.repo"
3333 ".catalogue.registry_repo.ref"
3434 ".scanners.skillspector.pin"
35- ".scanners.clamav.apt_packages"
36- ".verdict.malicious_if"
37- ".verdict.suspicious_if"
35+ ".verdict.malicious_risk_score"
36+ ".verdict.suspicious_risk_score"
3837 ".publish.release.rolling_tag"
3938 ".publish.pages.enabled"
4039 ".schedule.cron"
@@ -68,25 +67,26 @@ jobs:
6867 python -m json.tool schema/report.schema.json > /dev/null
6968 check-jsonschema --check-metaschema schema/report.schema.json
7069
71- lint-shell :
72- name : ShellCheck and prettier
70+ pytest :
71+ name : pytest + ruff
7372 runs-on : ubuntu-latest
7473 permissions :
7574 contents : read
7675 steps :
7776 - name : Checkout
7877 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
79- - name : Install shellcheck
80- run : sudo apt-get update && sudo apt-get install -y shellcheck
81- - name : ShellCheck
78+ - name : Set up Python
79+ uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
80+ with :
81+ python-version : " 3.12"
82+ - name : Install
8283 run : |
83- shopt -s globstar nullglob
84- files=(scripts/**/*.sh)
85- if (( ${#files[@]} == 0 )); then
86- echo "No shell scripts to lint yet."
87- exit 0
88- fi
89- shellcheck "${files[@]}"
84+ python -m pip install --upgrade pip
85+ pip install -e ".[dev]"
86+ - name : ruff
87+ run : ruff check scanner tests
88+ - name : pytest
89+ run : pytest
9090
9191 lint-markdown :
9292 name : Markdownlint
@@ -102,3 +102,41 @@ jobs:
102102 node-version : " 20"
103103 - name : Run markdownlint-cli2
104104 run : npx --yes markdownlint-cli2@0.18.1 "**/*.md" "!**/node_modules/**" "!LICENSE"
105+
106+ site :
107+ name : site (lint + types + test + build)
108+ runs-on : ubuntu-latest
109+ permissions :
110+ contents : read
111+ defaults :
112+ run :
113+ working-directory : site
114+ steps :
115+ - name : Checkout
116+ uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
117+ - name : Install pnpm
118+ uses : pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
119+ with :
120+ version : 10.33.2
121+ - name : Set up Node
122+ uses : actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v6.0.0
123+ with :
124+ node-version : " 22"
125+ cache : " pnpm"
126+ cache-dependency-path : site/pnpm-lock.yaml
127+ - name : Install
128+ run : pnpm install --frozen-lockfile
129+ - name : Lint
130+ run : pnpm lint
131+ - name : Type-check
132+ run : pnpm lint-types
133+ - name : Test
134+ run : pnpm test:ci
135+ - name : Build
136+ run : pnpm build
137+ - name : Upload SPA build
138+ uses : actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
139+ with :
140+ name : site-dist
141+ path : site/dist
142+ retention-days : 7
0 commit comments