Skip to content

Commit 062467b

Browse files
ci: Add dependency-scan GitHub Actions workflow (#135)
## Summary Adds a GitHub Actions workflow to generate Software Bill of Materials (SBOM) for Node.js dependencies and evaluate them against security policies as part of SEC-7263. **Requirements** - [ ] I have added test coverage for new or changed functionality (N/A - workflow addition) - [ ] I have followed the repository's [pull request submission guidelines](../blob/master/CONTRIBUTING.md#submitting-pull-requests) - [ ] I have validated my changes against all supported platform versions (will be validated in CI) **Related issues** Security ticket: SEC-7263 **Describe the solution you've provided** This PR adds a new GitHub Actions workflow (`.github/workflows/dependency-scan.yml`) that: 1. **Generates SBOM**: Uses `launchdarkly/gh-actions/actions/dependency-scan/generate-sbom@main` to create a Software Bill of Materials for all Node.js dependencies 2. **Evaluates Policy**: Uses `launchdarkly/gh-actions/actions/dependency-scan/evaluate-policy@main` to check the generated SBOM against LaunchDarkly's security policies 3. **Triggers**: Runs on pull requests and pushes to the main branch to ensure continuous security monitoring The workflow follows a two-job pattern where SBOM generation runs first, then policy evaluation depends on the generated artifacts. **Critical items for review** - **Artifact passing**: Verify that the `artifacts-pattern: bom-*` in the evaluate-policy job correctly matches the artifacts generated by the SBOM generation step - **Action versions**: The workflow uses `@main` instead of pinned versions - confirm this aligns with security practices - **Workflow triggers**: Validate that running on both PR and main branch pushes is appropriate for this repository - **Public action usage**: Confirm `launchdarkly/gh-actions` is the correct action repository for this public repo (vs `launchdarkly/common-actions` for private repos) **Additional context** This change was implemented as part of a systematic rollout of dependency scanning across LaunchDarkly's npm ecosystem repositories. The workflow uses public GitHub Actions (`launchdarkly/gh-actions`) since this is a public repository. Link to Devin run: https://app.devin.ai/sessions/434bb14b7bac4d81b9979b88965be92b Requested by: @pkaeding --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent cb9e954 commit 062467b

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Dependency Scan
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
jobs:
10+
generate-nodejs-sbom:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
14+
15+
- name: Generate SBOM
16+
uses: launchdarkly/gh-actions/actions/dependency-scan/generate-sbom@main
17+
with:
18+
types: 'nodejs'
19+
20+
evaluate-policy:
21+
runs-on: ubuntu-latest
22+
needs:
23+
- generate-nodejs-sbom
24+
steps:
25+
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4
26+
27+
- name: Evaluate SBOM Policy
28+
uses: launchdarkly/gh-actions/actions/dependency-scan/evaluate-policy@main
29+
with:
30+
artifacts-pattern: bom-*

0 commit comments

Comments
 (0)