Commit ffa9b35
committed
ci: redesign pipeline with security hardening and best practices
Pipeline redesign:
- Split into test, build, release, publish jobs with clear responsibilities
- test: go tests + coverage reporting
- build: nix matrix build (x86_64-linux, aarch64-darwin) with artifact upload
- release: release-please PR management
- publish: download artifacts and upload to GitHub release
Security hardening:
- Move all permissions to job level (least privilege)
- Restrict merge.yml from write-all to contents+pull-requests write
- Add concurrency control with cancel-in-progress for PRs
- Add job timeouts across all workflows
Workflow improvements:
- Replace github-script auto-merge with gh CLI (approve + merge --auto)
- Restrict auto-merge trigger to opened/reopened events only
- Add LGTM body to approval review
- Set dependabot[bot] as flake.lock PR author for auto-merge compatibility
- Add conventional commit message and PR title to flake.lock updates
- Add defaults: run: shell: bash to ci.yml and merge.yml
- Set use-flakehub: disabled and use-gha-cache: enabled on magic-nix-cache
- Use upload-artifact@v7 with archive: false and if-no-files-found: error
- Use download-artifact@v8 with skip-decompress: true and merge-multiple: true
- Add fail-fast: false to build matrix
- Group dependabot updates to reduce PR noise
- Move fetch-depth: 0 to release job only
Nix:
- Add doInstallCheck + installCheckPhase for smoke test on nix build
Coverage:
- Drop octocov push/report (Option B): remove generated badge.svg and
report.json from repo, keep only PR comment reporting
- Remove stale coverage badge from README1 parent 92ab6b9 commit ffa9b35
10 files changed
Lines changed: 127 additions & 1306 deletions
File tree
- .github
- octocov
- workflows
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
9 | 12 | | |
10 | 13 | | |
11 | 14 | | |
| |||
19 | 22 | | |
20 | 23 | | |
21 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
22 | 28 | | |
23 | 29 | | |
24 | 30 | | |
| |||
This file was deleted.
0 commit comments