ci: Add a security workflow - #3061
Conversation
Signed-off-by: Steven Sheehy <steven.sheehy@swirldslabs.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3061 +/- ##
=======================================
Coverage 99.98% 99.98%
=======================================
Files 192 192
Lines 6052 6117 +65
Branches 1096 1121 +25
=======================================
+ Hits 6051 6116 +65
Misses 1 1 🚀 New features to boost your workflow:
|
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
There was a problem hiding this comment.
Pull request overview
Adds a dedicated “Security” GitHub Actions workflow to continuously scan the repo for vulnerabilities and security issues, and standardizes CI/release workflows to derive Node.js and pnpm versions from package.json for easier maintenance and consistency.
Changes:
- Introduces
.github/workflows/security.yamlto run CodeQL, pnpm audit (high/critical), and Semgrep (SARIF upload). - Updates multiple workflows to use
actions/setup-nodewithnode-version-file: package.jsonand pnpm caching; addsLC_ALL: C.UTF-8where needed. - Updates release automation to bump versions via a single workspace-wide command and simplifies lockfile updates.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Adds packageManager for pnpm and tightens Node engine range used by workflows. |
| .gitignore | Ignores SARIF outputs generated by security scans. |
| .github/workflows/test-migrations.yaml | Standardizes locale and Node/pnpm setup via package.json. |
| .github/workflows/test-frontend.yaml | Standardizes locale and Node/pnpm setup; pins upload-artifact action SHA. |
| .github/workflows/test-backend.yaml | Standardizes locale and Node/pnpm setup via package.json. |
| .github/workflows/smoke-test-mac.yaml | Switches to setup-node pnpm caching; bumps Python version used in workflow. |
| .github/workflows/security.yaml | Adds new security workflow (CodeQL, pnpm audit, Semgrep + SARIF upload). |
| .github/workflows/release-automation.yaml | Simplifies version bumping/lockfile updates; updates caching and install behavior. |
| .github/workflows/pr-formatting.yaml | Adds locale environment standardization. |
Comments suppressed due to low confidence (1)
.github/workflows/release-automation.yaml:311
actions/setup-nodeis already configured withcache: pnpm, so the additional manual pnpm-store lookup +actions/cachestep is redundant and can slow down the workflow / add complexity. Consider removing the extra cache steps and relying on the built-in pnpm caching.
- name: Get pnpm store directory
id: pnpm-store
run: echo "path=$(pnpm store path --silent)" >> $GITHUB_OUTPUT
- name: Cache pnpm store
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Steven Sheehy <steven.sheehy@swirldslabs.com>
Signed-off-by: Steven Sheehy <steven.sheehy@swirldslabs.com>
|
Recreating PR |
Description:
package.jsonRelated issue(s):
Fixes #2852
Notes for reviewer:
Checklist