ci(cli): add CI and crates.io publish pipeline for cougr-cli - #285
ci(cli): add CI and crates.io publish pipeline for cougr-cli#285therealbibson wants to merge 1 commit into
Conversation
Adds .github/workflows/cli.yml (fmt/clippy/test/build, path-scoped to cougr-cli/) and .github/workflows/publish-cli.yml (version-check-then- publish-then-release, mirroring publish-crate.yml), so the CLI crate gets equivalent CI/CD once it lands per salazarsebas#238's sub-issues, without touching cougr-core's existing workflows. Closes salazarsebas#248
|
@therealbibson Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
The workflow content itself (fmt/clippy -D warnings/test/build, crates.io version check, GitHub Release) looks correct and matches the pattern from |
|
This is scoped to |
Summary
.github/workflows/cli.yml: fmt/clippy(-D warnings)/test/build forcougr-cli, path-scoped tocougr-cli/**so it doesn't run on unrelated changes (mirrorscore.yml's job shape, using aworking-directorydefault likeexample_reusable.ymlsincecougr-cliisn't a workspace member yet)..github/workflows/publish-cli.yml: package → publish-to-crates.io (with the same crates.io pre-check guard aspublish-crate.ymlto skip already-published versions) → GitHub Release, triggered onmainpushes touchingcougr-cli/**and oncougr-cli-v*tags (distinct tag prefix so CLI releases don't collide withcougr-core'sv*tags).core.ymlorpublish-crate.yml—cougr-core's existing CI/publish behavior is untouched.Note:
cougr-cliitself doesn't exist yet (tracked by the other sub-issues of #238). These workflows are path-scoped tocougr-cli/**and simply won't trigger until that crate lands — same pattern as the per-example workflows before their example directories existed.Test plan
cougr-cli/is added as a workspace member (per Epic: ship the cougr CLI (new / add / check / doctor) #238's other sub-issues), open a PR touching onlycougr-cli/**and confirmCLI CItriggers while the full example matrix does not.cougr-cli/Cargo.toml's version onmainand confirmPublish CLI Cratepublishes to crates.io and cuts a GitHub Release taggedcougr-cli-v<version>.core.yml,publish-crate.yml, andexample_reusable.ymlfor consistency.Closes #248