cli/gh-extension-precompile is one of the open-source repositories TopGit tracks, currently at 134 stars, written primarily in Shell. Action for publishing binary GitHub CLI extensions
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
A GitHub CLI extension is any GitHub repository named gh-* that publishes a Release with precompiled binaries. This GitHub Action can be used in your extension repository to automate the creation and publishing of those binaries.
Go extensions
[!Note]
With the use of actions/setup-go@v5 for Go extensions, cache is enabled by default as part of the action's v4 release. The action won’t throw an error if the cache can’t be restored or saved. The action will throw a warning message but it won’t stop a build process.
Create a workflow file at .github/workflows/release.yml:
Then, either push a new git tag like v1.0.0 to your repository, or create a new Release and have it initialize the associated git tag.
When the release workflow finishes running, compiled binaries will be uploaded as assets to the v1.0.0 Release and your extension will be installable by users of gh extension install on supported platforms.
You can safely test out release automation by creating tags that have a - in them; for example: v2.0.0-rc.1. Such Releases will be published as prereleases and will not count as a stable release of your extension.
To maximize portability of built products, this action builds Go binaries with cgo disabled with the exception of Android build targets. To override cgo for all build targets, set the CGO_ENABLED environment variable:
gh-extension-precompile@v2 introduces a breaking change by disabling android-arm64 and android-amd64 build targets by default due to Go external linking requirements.
To enable Android build targets:
release_android must be set to true
android_sdk_version must be set to a targeted Android API level
android_ndk_home must be set to the path to Android NDK installed on Actions runner
cli/gh-extension-precompile will use pre-installed Android tools on GitHub-managed runners by default; self-hosted runners will need to install and configure this input.
For more information on Android NDK installed on GitHub-managed runners, see actions/runner-images
Customizing the build process for Go extensions
If you only need to customize the go build command, the go_build_options input parameter can include additional flags and arguments for all platforms:
For more complex customizations, see Extensions written in other compiled languages to provide a custom build script.
Extensions written in other compiled languages
If you aren't using Go for your compiled extension, or your Go extension requires customizations to the build script, you'll need to provide your own script for compiling your extension:
The build script will receive the release tag name as the first argument.
This script must produce executables in a dist directory with file names ending with: {os}-{arch}{ext}, where the extension is .exe on Windows and blank on other platforms. For example:
dist/gh-my-ext_v1.0.0_darwin-amd64
dist/gh-my-ext_v1.0.0_windows-386.exe
For valid {os}-{arch} combinations, see the output of go tool dist list with the Go version you intend to use for compiling.
Potentially useful environment variables available in your build script:
GITHUB_REPOSITORY: name of your extension repository in owner/repo format
GITHUB_TOKEN: auth token with access to GITHUB_REPOSITORY
Checksum file and signing
This action can optionally produce a checksum file for all published executables and sign it with GPG.
To enable this, make sure your repository has the secrets GPG_SECRET_KEY and GPG_PASSPHRASE set. (Tip: you can use gh secret set for this; follow the instructions here to obtain the correct secret values.) Then, configure this action like so:
Does cli/gh-extension-precompile have a project website?
No homepage URL was recorded for cli/gh-extension-precompile in TopGit's last sync. The README tab above frequently contains screenshots and demo links, or check the repository description on GitHub.
Does cli/gh-extension-precompile have any tags?
TopGit's last sync did not record any GitHub topics for cli/gh-extension-precompile. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on cli/gh-extension-precompile?
The most recent commit recorded on cli/gh-extension-precompile was 2 months ago, based on the GitHub push timestamp. The repository has 64 forks — one of the better signals of community interest.
How many stars does cli/gh-extension-precompile have?
cli/gh-extension-precompile has 134 GitHub stars — refresh the page for the live number, or check github.com/cli/gh-extension-precompile. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is cli/gh-extension-precompile written in?
cli/gh-extension-precompile is written primarily in Shell. GitHub's language field is based on the largest share of bytes in the default branch.
What license does cli/gh-extension-precompile use?
cli/gh-extension-precompile is released under the MIT license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about cli/gh-extension-precompile?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/cli/gh-extension-precompile is the definitive source.
Read full README in the tab above.
Want a second opinion on gh-extension-precompile?
Ask an AI that can read this page — one click and you get its take on gh-extension-precompile.