Skip to content

ci: add dependency review and PR validation workflows#2503

Merged
BrendanWalsh merged 4 commits intomasterfrom
brwals/ci-improvements
Feb 14, 2026
Merged

ci: add dependency review and PR validation workflows#2503
BrendanWalsh merged 4 commits intomasterfrom
brwals/ci-improvements

Conversation

@BrendanWalsh
Copy link
Copy Markdown
Collaborator

@BrendanWalsh BrendanWalsh commented Feb 14, 2026

What changes were proposed in this pull request?

Adds two new GitHub Actions workflows for fast PR feedback:

1. Dependency Review (dependency-review.yml)

  • Runs on every PR to master
  • Uses GitHub's dependency-review-action@v4 to flag:
    • New dependencies with known vulnerabilities (fails on high severity)
    • Dependencies with restricted licenses
  • Posts a summary comment directly on the PR
  • Zero maintenance — uses GitHub's advisory database

2. PR Validation (pr-validation.yml)

  • Runs on every PR to master (skips doc-only changes)
  • Provides fast automated feedback without waiting for ADO pipeline (/azp run takes 45+ min)
  • Python Style Check (~15 seconds): black --check on all .py and .ipynb files
  • Compile & Style Check (~5.5 min):
    • sbt scalastyle test:scalastyle — Scala style checks
    • sbt compile test:compile — full compilation of main + test code across all 6 modules
  • Both jobs run in parallel for fastest feedback
  • Caches sbt dependencies via setup-java for faster subsequent runs

How was this patch tested?

The PR itself exercises both workflows. Dependency Review runs on PRs, and PR Validation compiles the project and checks Python formatting.

Does this PR introduce any user-facing change?

No — improves CI feedback for contributors.

@github-actions
Copy link
Copy Markdown

Hey @BrendanWalsh 👋!
Thank you so much for contributing to our repository 🙌.
Someone from SynapseML Team will be reviewing this pull request soon.

We use semantic commit messages to streamline the release process.
Before your pull request can be merged, you should make sure your first commit and PR title start with a semantic prefix.
This helps us to create release messages and credit you for your hard work!

Examples of commit messages with semantic prefixes:

  • fix: Fix LightGBM crashes with empty partitions
  • feat: Make HTTP on Spark back-offs configurable
  • docs: Update Spark Serving usage
  • build: Add codecov support
  • perf: improve LightGBM memory usage
  • refactor: make python code generation rely on classes
  • style: Remove nulls from CNTKModel
  • test: Add test coverage for CNTKModel

To test your commit locally, please follow our guild on building from source.
Check out the developer guide for additional guidance on testing your change.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 14, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails
actions/actions/checkout 4.*.* 🟢 6.5
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 57 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Packaging⚠️ -1packaging workflow not detected
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Pinned-Dependencies🟢 3dependency not pinned by hash detected -- score normalized to 3
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection🟢 6branch protection is not maximal on development and all release branches
Vulnerabilities🟢 82 existing vulnerabilities detected
SAST🟢 8SAST tool detected but not run on all commits
actions/actions/setup-java 4.*.* 🟢 6
Details
CheckScoreReason
Maintained🟢 810 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 8
Code-Review🟢 10all changesets reviewed
Binary-Artifacts🟢 10no binaries found in the repo
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Packaging⚠️ -1packaging workflow not detected
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
License🟢 10license file detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Fuzzing⚠️ 0project is not fuzzed
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
Vulnerabilities🟢 73 existing vulnerabilities detected
SAST🟢 9SAST tool is not run on all commits -- score normalized to 9
actions/actions/setup-python 5.*.* 🟢 5.1
Details
CheckScoreReason
Code-Review🟢 10all changesets reviewed
Maintained🟢 56 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Binary-Artifacts🟢 10no binaries found in the repo
License🟢 10license file detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Packaging⚠️ -1packaging workflow not detected
Fuzzing⚠️ 0project is not fuzzed
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 9security policy file detected
Vulnerabilities⚠️ 19 existing vulnerabilities detected
Branch-Protection⚠️ 0branch protection not enabled on development/release branches
SAST🟢 9SAST tool is not run on all commits -- score normalized to 9

Scanned Files

  • .github/workflows/pr-validation.yml

Dependency Review:
- Flags new vulnerable or restricted-license dependencies on PRs
- Fails on high-severity vulnerabilities
- Posts summary comment on PRs

PR Validation:
- Runs scalastyle and sbt compile/test:compile on PRs
- Provides fast feedback (~2-3 min) vs waiting for ADO (~45 min)
- Skips for doc-only changes
- Caches sbt dependencies via setup-java
@BrendanWalsh BrendanWalsh force-pushed the brwals/ci-improvements branch from 936cb47 to 3c355fc Compare February 14, 2026 00:40
@BrendanWalsh BrendanWalsh merged commit 063e48f into master Feb 14, 2026
10 checks passed
@BrendanWalsh BrendanWalsh deleted the brwals/ci-improvements branch February 14, 2026 01:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant