Skip to content

chore: Add one-line installer backed by goreleaser GitHub Releases - #11

Merged
algomaster99 merged 6 commits into
mainfrom
claude/yul-issues-init-mcp-installer-0frqtl
Aug 15, 2026
Merged

chore: Add one-line installer backed by goreleaser GitHub Releases#11
algomaster99 merged 6 commits into
mainfrom
claude/yul-issues-init-mcp-installer-0frqtl

Conversation

@algomaster99

@algomaster99 algomaster99 commented Aug 14, 2026

Copy link
Copy Markdown
Member

Closes #9.

Summary

  • .goreleaser.yml — builds yul for linux/darwin × amd64/arm64, checksums the archives, embeds the tag as main.version via ldflags.
  • .github/workflows/release.yml — on v* tag push, runs tests then goreleaser release (pinned CLI version) to publish the GitHub Release.
  • install.sh — one-line curl | sh installer: detects OS/arch, downloads the matching release archive, verifies against checksums.txt, installs to ~/.local/bin.
  • main.go / README.md — adds yul version subcommand for sanity-checking installs; README leads with the install command, keeps go install as fallback.

Adds a goreleaser config and install.sh that downloads, checksum-
verifies, and installs the right prebuilt binary so users don't need
a local Go toolchain. main.go gains a build-time version variable and
`yul version` for goreleaser's ldflags and the installer to target.

Part of #9
@andrew

andrew commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

@algomaster99 incase you didn't see it, claude wasn't able to push the workflow files 🙄

@algomaster99

Copy link
Copy Markdown
Member Author

@andrew thanks for pointing it out. I did see it before and I thought I would take a look later.

I have tried to pass my PAT through the environment multiple times but it just doesn't accept it 😅
I always have to do this manually

@algomaster99

Copy link
Copy Markdown
Member Author
image

The hooks working well when asked to automatically add the above release workflow file.

algomaster99 and others added 3 commits August 15, 2026 14:26
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@algomaster99 algomaster99 changed the title Add one-line installer backed by goreleaser GitHub Releases chore: Add one-line installer backed by goreleaser GitHub Releases Aug 15, 2026
@algomaster99
algomaster99 requested a lite review from Copilot August 15, 2026 12:37

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a GitHub Releases-based distribution and a one-line installer for yul, reducing the need for a local Go toolchain and adding a simple yul version command for installed-binary verification.

Changes:

  • Add GoReleaser configuration to build and publish release archives and checksums for linux/darwin × amd64/arm64.
  • Add a POSIX sh installer (install.sh) that downloads the appropriate release asset, verifies it against checksums.txt, and installs to ~/.local/bin (configurable).
  • Update main.go to support yul version, and update README to document the one-line installer and clarify go run caveats.

Reviewed changes

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

Show a summary per file
File Description
README.md Documents the one-line installer as the primary install path and clarifies binary vs go run usage.
main.go Introduces a build-time version variable and a yul version subcommand.
install.sh Adds a curl
.goreleaser.yml Defines the release build matrix, archive naming, checksum generation, and ldflags version embedding.
.github/workflows/release.yml Adds an automated tag-triggered GitHub Releases publishing workflow via GoReleaser.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread install.sh Outdated
Comment thread install.sh
Comment thread .goreleaser.yml Outdated
claude and others added 2 commits August 15, 2026 12:42
- goreleaser: embed {{.Tag}} (full "vX.Y.Z" tag) instead of {{.Version}}
  (which strips the leading v), so yul version matches release tags
  and YUL_VERSION values.
- install.sh: use a template with mktemp -d so busybox/strict mktemp
  implementations that reject a bare "-d" don't break the install.
- install.sh: replace sed -E with a POSIX basic-regex sed 's/.../\1/'
  invocation, since -E isn't POSIX and some sed builds lack it.
@algomaster99
algomaster99 merged commit 82c2384 into main Aug 15, 2026
2 checks passed
@algomaster99
algomaster99 deleted the claude/yul-issues-init-mcp-installer-0frqtl branch August 15, 2026 12:45
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.

One-line installer via GitHub Releases (curl | sh)

4 participants