Skip to content

Install the Stripe CLI alongside the commands - #22

Merged
ralyodio merged 1 commit into
masterfrom
add-stripe-cli
Aug 23, 2026
Merged

Install the Stripe CLI alongside the commands#22
ralyodio merged 1 commit into
masterfrom
add-stripe-cli

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

The payment work needs the Stripe CLI on every box, and "install the Stripe CLI first" is the setup step that quietly never happens. install.sh now fetches the official binary from stripe/stripe-cli.

Shape

Follows the codeburn precedent — vendored under vendor/stripe so the name exists once, then linked into the prefix. A stripe already on PATH from a package manager wins, and nothing is linked over it.

The step runs after the commands are linked and warns instead of dying. An unknown architecture, a GitHub outage, or a rate-limited API lookup shouldn't fail an install that has otherwise already succeeded, so each of those paths says why and returns. The version falls back to the last one verified against this installer when the API can't be reached.

The published sha256 is checked. It comes from the same host as the tarball, so it isn't a supply-chain guarantee — it catches the truncated download this will actually see.

Knobs

  • STRIPE_CLI_VERSION pins a version
  • CLI_TOOLS_SKIP_STRIPE=1 skips it entirely

Verified

On linux/x86_64: downloads 1.50.4, checksums it, links it, stripe --version reports 1.50.4, and a second run prints already installed without re-downloading. sh -n install.sh is clean.

🤖 Generated with Claude Code

The payment work needs the Stripe CLI on every box, and "install the
Stripe CLI first" is the setup step that quietly never happens. The
installer now fetches the official binary from stripe/stripe-cli.

It follows the codeburn precedent: vendored under vendor/stripe so the
name exists once, then linked into the prefix. A stripe already on PATH
from a package manager wins and nothing is linked over it.

The step runs after the commands are linked and warns instead of dying.
An unknown architecture, a GitHub outage or a rate-limited API lookup
should not fail an install that has otherwise already succeeded, so each
of those paths says why and returns. The version falls back to the last
one verified against this installer when the API cannot be reached.

The published sha256 is checked. It comes from the same host as the
tarball so it is not a supply-chain guarantee, but it catches the
truncated download that this will actually see.

Verified on linux/x86_64: downloads 1.50.4, links it, `stripe --version`
runs, and a second run is a no-op.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

6 finding(s)

MEDIUM: 1 | LOW: 5

Severity Rule Location
MEDIUM redos-nested-quantifier src/domain-free.ts:56
LOW insecure-temp-file test/blog.test.ts:73
LOW insecure-temp-file test/blog.test.ts:74
LOW insecure-temp-file test/credentials.test.ts:43
LOW insecure-temp-file test/credentials.test.ts:44
LOW secret-generic-api-key test/credentials.test.ts:208

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 544f345 into master Aug 23, 2026
5 checks passed
@ralyodio
ralyodio deleted the add-stripe-cli branch August 23, 2026 10:44
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.

1 participant