feat(ci): cache store, build packages via checks, split out release job#138
feat(ci): cache store, build packages via checks, split out release job#138sshine wants to merge 3 commits into
Conversation
1e02532 to
2b18679
Compare
|
No, internal tooling should not go into changelog. changelog should only contain info relevant to consumers. |
2b18679 to
6a1814c
Compare
|
In another project I co-maintain, we just let go of CHANGELOG.md in favour of GitHub's release generator. I like not being tied to GitHub as a principle, but I also like automation. Another approach to changelog automation is |
|
I like the idea of changelog generated from git history (no GitHub lock in required for this). But we'd have to enforce commit conversion (it would need a ci check and a doc for humans and agents) |
- Add flake-parts, import-tree - Renamed treefmt -> treefmt-nix input - Moved all flake.nix output content to flake/
on: - Scope `pull_request` to `main` and add semver tags so release-tagged commits re-run checks. tests: - Pin actions by commit SHA and add cache-nix-action; the Nix store now survives between runs. - Build the dev shell, covering `devShells.default` which `nix flake check` only evaluates. checks: - Add a `packages` check link-farming every package, so `nix flake check` builds the whole set; packages were previously only evaluated, letting generator/docs/example regressions slip through. packages: - Derive example packages from the filesystem (any example with a `module.nix`) instead of a hardcoded list, so the buildable set stays a single source of truth as examples come and go. release: - Move release into its own job triggered on version tags, replacing the changelog-parsing dance. - Pin softprops/action-gh-release by SHA and let it generate notes; drop the dangling `files:` input.
changelog.yml: - Require a `CHANGELOG.md` entry on every PR to `main`, bypassable via a commit-message phrase. - Validate `CHANGELOG.md` still parses on pushes to `main` that touch it, via changelog-parser. A changelog entry is not necessary.
6a1814c to
8f18fbe
Compare
|
Should I remove all things changelog-related in this PR, anticipating an effort to automate it with We don't actually need a doc if we have a |

Stacked on:
Please address that first.
What this does
pull_requesttomain; add semver tags so release-tagged commits re-run checks.packagescheck link-farms every package, sonix flake checkbuilds the wholeset. Previously packages were only evaluated, not built.
module.nix)instead of a hardcoded list.
notes, replacing the changelog-parsing steps.
Test plan
nix flake check(builds all checks incl. the newpackagescheck).releasejob only runs onX.Y.Ztag pushes.