react-client-sdk
react-client-sdk copied to clipboard
feat: [SEC-7263] Add dependency-scan GitHub Actions workflow
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
- [ ] I have validated my changes against all supported platform versions (will be validated via CI)
Related issues
Part of security initiative SEC-7263 to add dependency scanning workflows across LaunchDarkly npm ecosystem repositories.
Describe the solution you've provided
This PR adds a new GitHub Actions workflow (.github/workflows/dependency-scan.yml) that:
-
Generates Node.js SBOM using
launchdarkly/gh-actions/actions/dependency-scan/generate-sbom@main -
Evaluates SBOM against policies using
launchdarkly/gh-actions/actions/dependency-scan/evaluate-policy@main - Triggers on pull requests and pushes to main branch
- Uses public gh-actions (appropriate for public repositories)
The workflow consists of two sequential jobs:
-
generate-nodejs-sbom: Creates the SBOM artifact -
evaluate-policy: Evaluates the SBOM against security policies (depends on first job)
Key Review Points
⚠️ Important: This workflow has not been tested locally and needs validation via CI to ensure:
- The artifact pattern
bom-*correctly matches generated SBOM files - The workflow runs successfully without configuration issues
- Policy evaluation completes without violations
Describe alternatives you've considered
- Using commit-specific versions instead of
@mainfor actions (decided against to follow established org patterns) - Different trigger configurations (current setup matches standard LaunchDarkly practices)
Additional context
- Link to Devin run: https://app.devin.ai/sessions/434bb14b7bac4d81b9979b88965be92b
- Requested by: @pkaeding
- Part of systematic rollout across LaunchDarkly npm repositories
- Uses public
gh-actionsrepository (appropriate for public repos vs privatecommon-actions)