@ondeinference / cli / commits / d4ba243

Trigger pub.dev release after GitHub Release

Ensure pub.dev workflow runs only after GitHub assets exist. Update docs to clarify launcher and cache behavior for Dart package.

keypair34 committed May 3, 2026 at 15:11 UTC d4ba2433fa5b91d78438141991d1188b053ed7ec
4 files changed +22 -3
.agents/skills/distribution/SKILL.md
+3
@@ -91,6 +91,7 @@ Important details:
91 - download the correct binary from GitHub Releases on first run
92 - cache downloads under `~/.onde/cli`
93 - keep the wrapper thin, the Rust binary is still the product
94 +- publish the pub.dev package only after the matching GitHub Release exists
95
96 Good fit for Dart and Flutter developers who want the same CLI through familiar tooling.
97
@@ -153,6 +154,7 @@ Practical consequences:
154 - use package-level ignore rules so local native staging does not leak into publish input
155 - keep release asset names aligned with the GitHub Release workflow, because the launcher depends on them
156 - treat `~/.onde/cli` as the local cache root for downloaded binaries
157 +- do not let the pub.dev workflow race ahead of GitHub Releases; dispatch it after `release-github.yml` has created the assets
158
159 Run these during verification:
160
@@ -216,6 +218,7 @@ At minimum, check:
218 - staged native binaries land in the wrong directory before packaging
219 - package builds successfully but installs without the native binary
220 - pub.dev launcher points at the wrong GitHub Release asset name or runtime id
221 +- pub.dev workflow publishes before the matching GitHub Release assets exist
222 - pub.dev package still includes bundled binaries and blows the upload size limit
223 - smoke test invokes a TUI-first binary in a way that does not make sense for CI
224 - README badges and install commands drift out of sync with real package names
.github/workflows/release-github.yml
+15
@@ -190,3 +190,18 @@ jobs:
190 }
191 })
192 console.log('Dispatched release-homebrew.yml for tag ${{ steps.tag.outputs.tag }}')
193 +
194 + - name: Trigger pub.dev release
195 + uses: actions/github-script@v7
196 + with:
197 + script: |
198 + await github.rest.actions.createWorkflowDispatch({
199 + owner: context.repo.owner,
200 + repo: context.repo.repo,
201 + workflow_id: 'release-pub.yml',
202 + ref: 'main',
203 + inputs: {
204 + tag: '${{ steps.tag.outputs.tag }}'
205 + }
206 + })
207 + console.log('Dispatched release-pub.yml for tag ${{ steps.tag.outputs.tag }}')
.github/workflows/release-pub.yml
-3
@@ -1,9 +1,6 @@
1 name: pub.dev Release
2
3 on:
4 - push:
5 - tags:
6 - - "v*.*.*"
4 workflow_dispatch:
5 inputs:
6 tag:
README.md
+4
@@ -66,6 +66,8 @@ dotnet tool install --global Onde.Cli
66 dart pub global activate onde_cli
67 ```
68
69 +The Dart package is a thin launcher. On first run it downloads the right native binary into `~/.onde/cli`, then reuses the local copy.
70 +
71 ### Pre-built binary
72
73 Download a release from [GitHub Releases](https://github.com/ondeinference/onde-cli/releases):
@@ -171,6 +173,8 @@ You can search for any of these from the Models tab with `/`.
173
174 Logs are written to `~/.cache/onde/debug.log`.
175
176 +If you installed through pub.dev, the launcher cache lives under `~/.onde/cli`.
177 +
178 ---
179
180 ## License