ENGINEERING

Block GitHub PRs that add non-compliant package licenses

Scans the dependency manifest changes in every GitHub pull request, fails a status check when a newly added package carries a license outside your allowlist.

CategoryEngineering
Enginesim
Difficultyintermediate
Triggerevent
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerGitHub PR opened or updatedGitHubGitHub
  • ActionFetch changed manifest files and parse new dependenciesGitHubGitHub
  • ActionResolve license for each newly added packageGitHubGitHub
  • LogicCompare licenses against approved allowlist
  • ActionSet failing commit status to block mergeGitHubGitHub
  • OutputComment offending packages and licenses on the PRGitHubGitHub

What it does

When a pull request opens or updates, this workflow inspects the diff to the dependency manifest (package.json, requirements.txt, go.mod, etc.), resolves the license of every newly added package, and compares each one against your approved-license allowlist. If any package carries a forbidden or unknown license, it sets a failing commit status so the PR cannot merge, and comments the exact offenders.

When to use it

Use this when you need a hard, automated gate on license drift at the source — before non-compliant code reaches your default branch. Ideal for teams with a strict open-source policy (e.g. no GPL/AGPL in proprietary products) who want enforcement on every PR rather than periodic audits.

How it works

  1. 1A GitHub pull_request webhook fires on open or synchronize.
  2. 2The workflow fetches the changed manifest files and parses newly added dependencies.
  3. 3Each new package's license is resolved from the registry metadata.
  4. 4A logic step checks every license against the allowlist; if all pass, it posts a success status and exits.
  5. 5On any violation, it sets a failing GitHub commit status (blocking merge) and posts a comment listing each non-compliant package and its license.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect GitHubRepos, issues, pull requests, actions.
  2. 2
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  3. 3
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  4. 4
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.