fix(license): adopt rust-style dual-license layout for github detection#1308
fix(license): adopt rust-style dual-license layout for github detection#1308
Conversation
PR intake checks found warnings (non-blocking)Fast safe checks found advisory issues. CI lint/test/build gates still enforce merge quality.
Action items:
Run logs: https://github.com/zeroclaw-labs/zeroclaw/actions/runs/22264946332 Detected blocking line issues (sample):
Detected advisory line issues (sample):
Workflow files changed in this PR:
Reminder: workflow changes require owner approval via |
There was a problem hiding this comment.
Pull request overview
This PR migrates the repository from a single root LICENSE file to a Rust-style dual-license layout with separate LICENSE-APACHE and LICENSE-MIT files. This change is intended to improve GitHub's license detection, which was returning NOASSERTION with the previous structure.
Changes:
- Removed the root
LICENSEfile containing the Apache 2.0 license text - Updated all README badge links (across 6 localized versions) to point to
LICENSE-APACHEinstead ofLICENSE - Updated CI/workflow scripts and documentation to remove
LICENSEfrom the protected files list, keeping onlyLICENSE-APACHEandLICENSE-MIT - Modified the release workflow to exclude the removed
LICENSEfile from artifact packaging and checksum generation
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| LICENSE | Deleted root LICENSE file (Apache 2.0 text) |
| README.md, README.zh-CN.md, README.vi.md, README.ru.md, README.ja.md, README.fr.md | Updated license badge links from LICENSE to LICENSE-APACHE |
| docs/ci-map.md | Updated documentation to remove LICENSE from protected files list |
| .github/workflows/main-branch-flow.md | Updated workflow documentation to remove LICENSE from protected files list |
| .github/workflows/scripts/ci_license_file_owner_guard.js | Removed LICENSE from protected files Set |
| .github/workflows/pub-release.yml | Removed LICENSE file copying and checksum generation steps |
Comments suppressed due to low confidence (1)
LICENSE:1
- Removing the LICENSE file will break existing references in several files that are not updated in this PR:
.github/labeler.ymlline 7: referencesLICENSEin docs labeling.github/workflows/scripts/pr_labeler.jsline 295: checks forLICENSEin isDocsLike functionfirmware/zeroclaw-esp32-ui/README.mdline 100: links to rootLICENSEpython/README.mdline 154: links to../LICENSEpython/README.vi.mdline 154: links to../LICENSE
These references should be updated to point to LICENSE-APACHE or LICENSE-MIT (or both, depending on context) before removing this file to ensure completeness.
đź’ˇ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
* chore(license): make apache primary while preserving dual-license (#1307) * fix(license): adopt rust-style dual-license layout for github detection (#1308) * fix(license): restore canonical apache-2.0 text for detection (#1309) * ci(policy): restrict main PR authors and target bot PRs to dev (#1310) * ci(intake): warn and retarget non-promotion PRs from main to dev (#1319) * ci(release): add bot-owned Homebrew publish workflow (#1323) * fix(onboard): serialize quick-setup env tests safely * chore(release): bump version to v0.1.5 * ci(build-fast): align toolchain with stable release build
* chore(license): make apache primary while preserving dual-license (#1307) * fix(license): adopt rust-style dual-license layout for github detection (#1308) * fix(license): restore canonical apache-2.0 text for detection (#1309) * ci(policy): restrict main PR authors and target bot PRs to dev (#1310) * ci(intake): warn and retarget non-promotion PRs from main to dev (#1319) * ci(release): add bot-owned Homebrew publish workflow (#1323) * fix(onboard): serialize quick-setup env tests safely * chore(release): bump version to v0.1.5 * ci(build-fast): align toolchain with stable release build
* chore(license): make apache primary while preserving dual-license (#1307) * fix(license): adopt rust-style dual-license layout for github detection (#1308) * fix(license): restore canonical apache-2.0 text for detection (#1309) * ci(policy): restrict main PR authors and target bot PRs to dev (#1310) * ci(intake): warn and retarget non-promotion PRs from main to dev (#1319) * ci(release): add bot-owned Homebrew publish workflow (#1323) * fix(onboard): serialize quick-setup env tests safely * chore(release): bump version to v0.1.5 * ci(build-fast): align toolchain with stable release build * ci(homebrew): fix bot fork auth clone path (#1329) * ci(homebrew): authenticate git ops via header-safe token flow * ci(homebrew): fix patch step indentation in workflow * chore(release): bump version to v0.1.6 (#1330) * chore(release): promote dev to main for v0.1.5 (#1325) (#1332) * chore(license): make apache primary while preserving dual-license (#1307) * fix(license): adopt rust-style dual-license layout for github detection (#1308) * fix(license): restore canonical apache-2.0 text for detection (#1309) * ci(policy): restrict main PR authors and target bot PRs to dev (#1310) * ci(intake): warn and retarget non-promotion PRs from main to dev (#1319) * ci(release): add bot-owned Homebrew publish workflow (#1323) * fix(onboard): serialize quick-setup env tests safely * chore(release): bump version to v0.1.5 * ci(build-fast): align toolchain with stable release build
Summary
LICENSELICENSE-APACHEandLICENSE-MITLICENSE-APACHEWhy
GitHub license detection was returning
NOASSERTIONafter the previous change. The Rust ecosystem convention (LICENSE-APACHE+LICENSE-MIT) is recognized by GitHub and should restore Apache detection while preserving dual licensing.Validation
node -c .github/workflows/scripts/ci_license_file_owner_guard.js