Skip to content

feat: improve license workflows#139

Merged
dsammaruga merged 8 commits into
arduino:mainfrom
beanrepo:improve-license-workflows
May 5, 2026
Merged

feat: improve license workflows#139
dsammaruga merged 8 commits into
arduino:mainfrom
beanrepo:improve-license-workflows

Conversation

@beanrepo

Copy link
Copy Markdown
Contributor

Refine license automation in app-bricks-examples by separating REUSE and licensed responsibilities in both Taskfile and CI, while preserving the repo’s current licensing setup and virtualenv cleanup behavior.

What's included

  • Taskfile.dist.yml

    • splits the old monolithic license flow into:
      • license:headers for REUSE annotations, license downloads and REUSE linting
      • license:deps for licensed cache + licensed status
    • keeps license as a backward-compatible aggregate task chaining license:headers -> license:deps
    • keeps init:license and init:ci as backward-compatible entry points
    • adds dedicated internal tasks to create and clean up the REUSE and licensed virtualenvs separately
    • keeps cleanup of the virtualenvs in this repo after the tasks complete
    • keeps install:licensed and updates its messaging to point to task license:deps
    • adds non-blocking warnings when requirements cannot be installed in the dependency-scanning venv
  • .github/workflows/license.yml

    • splits license validation into two jobs:
      • check-license-headers for REUSE/header validation
      • check-dependency-licenses for licensed
    • keeps the stable-version validation for the pinned arduino_app_bricks wheel
    • makes dependency-license failures depend on actual licensed status errors instead of raw git diff
    • adds multiline GitHub Actions annotations for real dependency-license errors
    • adds a detailed step summary with:
      • blocking dependency license issues
      • non-blocking dependency installation warnings
      • non-blocking cached record updates / outdated dependency versions

Notes

  • The existing .licensed.yml and REUSE.toml configuration are intentionally preserved.
  • Warning extraction in CI was made robust for this repo’s requirements.txt, including requirement lines with URLs such as:
    • arduino_app_bricks @ https://...
  • REUSE/header checks still rely on file diffs, while dependency-license checks now rely on the semantic result of licensed status.
@beanrepo beanrepo force-pushed the improve-license-workflows branch from 3c00519 to 95c1797 Compare April 24, 2026 15:03
@dsammaruga dsammaruga added enhancement New feature or request CI CI features labels Apr 24, 2026

@robgee86 robgee86 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, a plus would be to align the task names and dev workflow to the one in this PR.

@dsammaruga dsammaruga merged commit 08acaad into arduino:main May 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI CI features enhancement New feature or request

3 participants