Skip to content

feat: publish gddy alpha binary on rust-port pushes; rename binary to gddy#53

Open
jpage-godaddy wants to merge 8 commits into
rust-portfrom
rust-port-alpha-publish
Open

feat: publish gddy alpha binary on rust-port pushes; rename binary to gddy#53
jpage-godaddy wants to merge 8 commits into
rust-portfrom
rust-port-alpha-publish

Conversation

@jpage-godaddy
Copy link
Copy Markdown
Collaborator

What

Stands up an alpha distribution pipeline for the Rust port and renames the binary from godaddy to gddy so it installs alongside the legacy godaddy CLI.

Targets rust-port (not main) 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 to rust-port: test → build 5 targets (GitHub-hosted runners; cross for aarch64-linux) → publish a single rolling alpha prerelease (delete+recreate) with archives, gddy-checksums-sha256.txt, and install.sh.
  • install.sh (new) — curl-based installer (public repo, so no gh/auth), verifies the SHA-256 checksum and installs gddy. One-liner: curl -fsSL https://github.com/godaddy/cli/releases/download/alpha/install.sh | bash.
  • Binary rename → gddy: rust/Cargo.toml [[bin]], CliConfig name + app_id, and the PKCE credential namespace (auth.rs with_app_id). User-facing "run godaddy …" hint strings and README command examples updated to gddy.
  • release.yaml — artifact/archive names godaddygddy (the renamed binary).

Deliberately unchanged

  • The godaddy.toml application manifest filename (renaming it would break existing app dirs).
  • The internal auth-provider identity (with_default_auth_provider ↔ provider name()).
  • GoDaddy / godaddy.com branding and godaddy/cli URLs.

Verification

  • cargo build / cargo clippy -- -D warnings / cargo test (114 passing) on the rebased base (cli-engine 0.1.3).
  • gddy --versiongddy version 0.1.0; Usage: gddy [OPTIONS] [COMMAND].
  • actionlint clean on both workflows; bash -n install.sh clean.

Note: the alpha release one-liner 404s until the first post-merge run of the new workflow publishes it.

🤖 Generated with Claude Code

… 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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 godaddygddy.
  • Adds a rust-port-only GitHub Actions workflow that tests/builds multi-target artifacts and publishes a rolling alpha prerelease with checksums and an installer script.
  • Adds a curl-based install.sh for downloading/verifying/installing gddy from the alpha release 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 godaddygddy.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread install.sh
Comment thread install.sh
Comment thread install.sh
Comment thread .github/workflows/rust-port-alpha.yaml
Comment thread README.md
- 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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Comment thread install.sh
Comment thread install.sh
Comment thread install.sh Outdated
- 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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment thread README.md Outdated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment thread install.sh Outdated
Comment thread .github/workflows/rust-port-alpha.yaml
jpage-godaddy and others added 2 commits June 5, 2026 15:07
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>
@jpage-godaddy
Copy link
Copy Markdown
Collaborator Author

Follow-up for the README command-reference accuracy (pre-existing stale docs, out of scope here): DEVEX-752.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Comment thread install.sh Outdated
Comment thread .github/workflows/rust-port-alpha.yaml
- 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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.

Comment thread README.md
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>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants