mirror of
https://github.com/banisterious/obsidian-custom-selected-word-count.git
synced 2026-07-22 05:49:07 +00:00
Adopt the same release pipeline that landed in Draft Bench, adapted to this plugin's existing scripts and assets. What lands together: - `.github/workflows/release.yml`. Tag-push trigger matching plain SemVer (`1.6.6`) and pre-release SemVer (`1.6.6-rc1`). Runs `npm ci`, `npm run lint` (the obsidianmd ruleset), and `npm run build`. Calls `actions/attest-build-provenance@v2` on `main.js`, `manifest.json`, and `styles.css` so each release asset carries a verifiable GitHub artifact attestation. Creates a draft release with the three assets attached; pre-release tags get `--prerelease`. The draft step preserves the editorial gate - release-description markdown is pasted into the draft by hand before publishing, keeping writing-style review on every release. - `.nvmrc` pinning Node 22.20.0 (matches local dev). Both CI and local environments resolve the same Node via `actions/setup-node@v4`'s `node-version-file: '.nvmrc'`. - `docs/developer/release.md` rewritten to document the CI flow: required artifacts, the trial-run procedure with `-rc1` tags, the attestation-verification command, and the recovery path for a failed CI run. Customizations from the reference workflow: - Dropped the `lint:css` step. The plugin has CSS sources but no stylelint config; adding one is real follow-up work and the community-site rescan covers CSS lint server-side until that lands. - Dropped the `test` step. No test infrastructure yet; that's Phase 4 of the audit plan. The step is straightforward to add later. Release assets are the standard Obsidian three: `main.js` (built fresh by CI), `manifest.json` (committed), `styles.css` (committed). |
||
|---|---|---|
| .. | ||
| architecture | ||
| release.md | ||