feat: publish gddy alpha binary on rust-port pushes; rename binary to gddy#53
Open
jpage-godaddy wants to merge 8 commits into
Open
feat: publish gddy alpha binary on rust-port pushes; rename binary to gddy#53jpage-godaddy wants to merge 8 commits into
jpage-godaddy wants to merge 8 commits into
Conversation
… gddy Add an alpha distribution pipeline for the Rust port and rename the binary from `godaddy` to `gddy` so it installs alongside the legacy `godaddy` CLI. - .github/workflows/rust-port-alpha.yaml: on every push to `rust-port`, build 5 targets (cross for aarch64-linux) and publish a single rolling `alpha` prerelease (delete+recreate) with archives, checksums, and install.sh. - install.sh: curl-based installer (public repo — no gh/auth) that verifies the SHA-256 checksum and installs `gddy`. - Rename binary to `gddy`: Cargo.toml [[bin]], CliConfig name + app_id, and the PKCE credential namespace (auth.rs with_app_id). User-facing "run `godaddy ...`" hints and README command examples updated to `gddy`. - release.yaml: artifact/archive names godaddy -> gddy. Left unchanged: the godaddy.toml application manifest, the internal auth-provider identity, and GoDaddy/godaddy.com branding. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds an alpha distribution pipeline for the Rust-port branch and renames the Rust binary from godaddy to gddy so it can be installed alongside the legacy CLI.
Changes:
- Renames the Rust binary + updates user-facing command hints from
godaddy→gddy. - Adds a
rust-port-only GitHub Actions workflow that tests/builds multi-target artifacts and publishes a rollingalphaprerelease with checksums and an installer script. - Adds a curl-based
install.shfor downloading/verifying/installinggddyfrom thealpharelease assets.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
rust/src/main.rs |
Updates CLI config name/app id to gddy. |
rust/src/auth.rs |
Switches PKCE credential namespace (with_app_id) to gddy. |
rust/src/application/commands/mod.rs |
Updates error hint strings to reference gddy …. |
rust/src/api_explorer/mod.rs |
Updates re-auth hint string to gddy auth login. |
rust/src/actions_catalog/mod.rs |
Updates “actions list” hint to gddy …. |
rust/Cargo.toml |
Renames the Rust [[bin]] target to gddy. |
README.md |
Updates examples to gddy and documents the alpha installer. |
install.sh |
Adds installer for downloading/verifying/installing the gddy alpha binary. |
.github/workflows/rust-port-alpha.yaml |
New rolling alpha prerelease pipeline for rust-port pushes. |
.github/workflows/release.yaml |
Renames packaged artifact names from godaddy → gddy. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- install.sh: error clearly when --prefix has no argument (avoids set -u "unbound variable"); match the checksum line by exact filename via awk instead of grep (no regex-metachar / substring ambiguity); fail with an actionable message when elevation is needed but sudo is absent. - rust-port-alpha.yaml: add workflow concurrency (group + cancel-in-progress) so concurrent pushes can't race the rolling `alpha` release. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Use real newlines in the checksum-mismatch message (error() prints with %s, so literal "\n" would have shown verbatim). - List the SHA-256 tool and `install` in the usage Prerequisites. - Use `grep -qF` for the PATH check so a --prefix with regex metacharacters is matched literally. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ilot) cancel-in-progress: true could abort the publish job between the release delete and recreate, leaving the rolling `alpha` release temporarily missing. Set it to false so concurrent pushes queue and each publish completes atomically (last push wins). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
Author
|
Follow-up for the README command-reference accuracy (pre-existing stale docs, out of scope here): DEVEX-752. |
- install.sh: 'mktemp -d' has no template, which fails on BSD/macOS mktemp; fall back to 'mktemp -d -t gddy' so it works on GNU and BSD. - rust-port-alpha.yaml: zip from inside staging/ so gddy.exe is at the archive root instead of under staging/ (matches the tarballs and release.yaml). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The curl|bash installer is macOS/Linux only; point Windows users at the published gddy-x86_64-pc-windows-msvc.zip asset. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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.
What
Stands up an alpha distribution pipeline for the Rust port and renames the binary from
godaddytogddyso it installs alongside the legacygodaddyCLI.Targets
rust-port(notmain) so it ships with the port rather than sweeping it into the stable release.Changes
.github/workflows/rust-port-alpha.yaml(new) — on every push torust-port: test → build 5 targets (GitHub-hosted runners;crossfor aarch64-linux) → publish a single rollingalphaprerelease (delete+recreate) with archives,gddy-checksums-sha256.txt, andinstall.sh.install.sh(new) — curl-based installer (public repo, so nogh/auth), verifies the SHA-256 checksum and installsgddy. One-liner:curl -fsSL https://github.com/godaddy/cli/releases/download/alpha/install.sh | bash.gddy:rust/Cargo.toml[[bin]],CliConfigname +app_id, and the PKCE credential namespace (auth.rswith_app_id). User-facing "rungodaddy …" hint strings and README command examples updated togddy.release.yaml— artifact/archive namesgodaddy→gddy(the renamed binary).Deliberately unchanged
godaddy.tomlapplication manifest filename (renaming it would break existing app dirs).with_default_auth_provider↔ providername()).GoDaddy/godaddy.combranding andgodaddy/cliURLs.Verification
cargo build/cargo clippy -- -D warnings/cargo test(114 passing) on the rebased base (cli-engine 0.1.3).gddy --version→gddy version 0.1.0;Usage: gddy [OPTIONS] [COMMAND].actionlintclean on both workflows;bash -n install.shclean.🤖 Generated with Claude Code