-
Notifications
You must be signed in to change notification settings - Fork 125
Labels
ciContinuous integrationContinuous integrationfeatureNew feature triggering minor version bumpNew feature triggering minor version bump
Milestone
Description
Description\n\nAdd a CI workflow that validates all source files contain proper copyright and SPDX license headers. The check runs on pull requests and pushes to main, blocking merge if headers are missing.\n\n## Current State\n\nPrerequisite work is complete:\n\n- [x] Copyright headers added to all shell scripts (#304, closed Jan 31)\n- [x] Copyright headers added to all PowerShell scripts (#305, closed Jan 31)\n- [x] Validation script created: scripts/linting/Test-CopyrightHeaders.ps1 (PR #370)\n- [x] npm alias: npm run validate:copyright\n- [x] Contributing docs: docs/contributing/copyright-headers.md\n\n## Remaining Work\n\n- [ ] Add CI workflow file .github/workflows/copyright-headers.yml\n- [ ] Document Test-CopyrightHeaders.ps1 in scripts/linting/README.md\n\n## Acceptance Criteria\n\n- [ ] CI workflow runs on pull requests and pushes to main\n- [ ] Non-zero exit code on missing headers blocks merge\n- [ ] Workflow uses existing npm run validate:copyright -- -FailOnMissing\n- [ ] scripts/linting/README.md documents the validation script\n\n## Suggested Implementation\n\nyaml\nname: Copyright Header Validation\n\non:\n push:\n branches: [main]\n pull_request:\n branches: [main]\n\njobs:\n copyright-headers:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2\n\n - name: Setup Node.js\n uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0\n with:\n node-version: '20'\n\n - name: Install dependencies\n run: npm ci\n\n - name: Validate copyright headers\n shell: pwsh\n run: npm run validate:copyright -- -FailOnMissing\n\n\nThis approach uses existing codebase tooling with no external dependencies, outputs JSON results matching other linting scripts, and includes compliance percentage calculation.\n\n## Time Estimate\n\n30 minutes\n\n## Consolidation Note\n\nThis issue now covers the scope of both the original #307 and #353 (closed as duplicate). All prerequisite header-addition work (#304, #305) is complete."}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ciContinuous integrationContinuous integrationfeatureNew feature triggering minor version bumpNew feature triggering minor version bump