dashboard watch: avoid the platform's loop traps; remove widget on un… #46
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| permissions: | |
| contents: write | |
| jobs: | |
| goreleaser: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| # web/dist is committed AND go:embed-ed, so the binary ships whatever | |
| # bundle happens to be in the tree. Nothing used to rebuild it, which | |
| # meant a change to @tinysystems/editor silently did not reach users | |
| # until someone remembered to rebuild and commit the bundle by hand. | |
| # | |
| # Rebuild it here so the release always embeds the editor the lockfile | |
| # pins. --frozen-lockfile keeps this deterministic: picking up a newer | |
| # editor is an explicit `pnpm update @tinysystems/editor` + committed | |
| # lockfile, not a surprise that varies per release run. | |
| # Pinned, not "10". Newer 10.x releases tightened how git-hosted deps are | |
| # matched in the onlyBuiltDependencies allowlist: they want the full | |
| # "name@https://codeload.github.com/.../<sha>" spec, which embeds a commit | |
| # SHA and would therefore have to be edited every time the editor moves. | |
| # 10.27.0 matches on the package name, which is what web/pnpm-workspace.yaml | |
| # declares and what a cold-store install was verified against locally. | |
| - uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.27.0 | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "22" | |
| - name: Rebuild embedded editor SPA | |
| working-directory: web | |
| run: | | |
| pnpm install --frozen-lockfile | |
| pnpm run build | |
| - uses: goreleaser/goreleaser-action@v6 | |
| with: | |
| version: "~> v2" | |
| args: release --clean | |
| env: | |
| # Default token publishes the GitHub release + assets. | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # PAT with write access to tiny-systems/homebrew-tap so the | |
| # formula can be pushed there. Add it as a repo secret. | |
| HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.HOMEBREW_TAP_GITHUB_TOKEN }} |