ci(cli): add PR and release workflows#681
Merged
Merged
Conversation
This was referenced May 7, 2026
65e4e23 to
a48768d
Compare
1fdffc2 to
0df207c
Compare
There was a problem hiding this comment.
Pull request overview
Adds CI coverage and release automation for the apps/cli package, including cross-platform build targets and an initial installer script to download published binaries.
Changes:
- Extend root and CLI package scripts to include CLI tests and multi-target builds (darwin/linux/windows).
- Add a new GitHub Actions workflow to build and attach CLI binaries to
cli/*GitHub Releases. - Add CLI jobs to the PR workflow (unit/e2e tests + cross-compile build matrix) and introduce a shell installer script.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Adds CLI to the repo-level test pipeline and introduces CLI-focused scripts (test/build variants). |
| apps/cli/package.json | Replaces the single Linux build script with per-platform build targets and standardized artifact names. |
| apps/cli/install.sh | Adds an installer that downloads the platform binary into ~/.sia/bin and updates shell PATH. |
| .github/workflows/release-cli.yml | New workflow to build cross-platform CLI binaries and upload them to GitHub Releases. |
| .github/workflows/pr.yml | Adds CLI test, CLI e2e test, and cross-compile verification jobs to PR CI. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+10
to
+13
| # Host that serves the release binaries as `sia-storage-<os>-<arch>`. Fill in | ||
| # once a release host is wired up (e.g. | ||
| # `https://github.com/SiaFoundation/sia-storage-app/releases/latest/download`). | ||
| BASE_URL="" |
Comment on lines
+96
to
+97
| local path_line="export PATH=\"$BIN_DIR:\$PATH\"" | ||
|
|
Comment on lines
+61
to
+65
| download() { | ||
| local url="$1" dest="$2" | ||
| if command -v curl &>/dev/null; then | ||
| curl --fail --location --silent --show-error --output "$dest" "$url" | ||
| elif command -v wget &>/dev/null; then |
Comment on lines
+64
to
+68
| upload: | ||
| # Only attach to the GitHub release on real release events (not dispatch), | ||
| # and skip when the operator is dry-running CI changes. | ||
| if: ${{ github.event_name == 'release' && !inputs.dry_run }} | ||
| needs: build |
Comment on lines
+1
to
+5
| name: Release CLI | ||
|
|
||
| on: | ||
| release: | ||
| types: [published] |
Comment on lines
+101
to
+105
| { | ||
| echo "" | ||
| echo "# Sia Storage CLI" | ||
| echo "$path_line" | ||
| } >> "$config_file" |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

No description provided.