Repository navigation
ci: attach binaries to releases, and document the display requirement - #12
Merged
Merged
Conversation
release-0.2 shipped with no assets while every release up to 0.1.0 carried a Linux and a Windows binary, and the README's first suggestion is to download one. The step was manual, so it was forgotten. A workflow on release-* tags now builds and uploads them, plus a darwin/arm64 build. Asset names match the pre-0.2 ones so existing links and scripts keep working. It runs go vet and go test -race before uploading, so a tag that does not pass never produces binaries, and it creates the GitHub release only when one does not already exist — a hand-written body is never overwritten. workflow_dispatch takes an existing tag, which is how 0.2 can be backfilled without moving it. The README needed two corrections. The release badge was pinned to v0.0.8 and pointed at the Hunt3r repository rather than this one; it now reads the latest release from this repo, so it cannot go stale again. And installation only mentioned needing Chrome. Since 0.2 it also needs a display, which is the change most likely to break an existing deployment: a new Requirements section covers Chrome, the display with the xvfb-run invocation, -headless as the alternative, and the outbound access the fingerprint download needs. .gitattributes pins LF in the working tree. Git already stores LF, but with core.autocrlf=true a Windows checkout produces CRLF and gofmt then reports all 34 Go files as unformatted despite being byte-identical to its own output. That made the `gofmt -l` gate added to go.yml pass on the Linux runner and fail on a Windows contributor's machine for no real reason. Verified: cross-compilation succeeds for linux/amd64, windows/amd64 and darwin/arm64; both workflow files parse; gofmt -l . clean, go vet ./... clean, go test -race ./... green.
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.
release-0.2 shipped with no assets while every release up to 0.1.0 carried a Linux and a Windows binary, and the README's first suggestion is to download one. The step was manual, so it was forgotten. A workflow on release-* tags now builds and uploads them, plus a darwin/arm64 build. Asset names match the pre-0.2 ones so existing links and scripts keep working.
It runs go vet and go test -race before uploading, so a tag that does not pass never produces binaries, and it creates the GitHub release only when one does not already exist — a hand-written body is never overwritten. workflow_dispatch takes an existing tag, which is how 0.2 can be backfilled without moving it.
The README needed two corrections. The release badge was pinned to v0.0.8 and pointed at the Hunt3r repository rather than this one; it now reads the latest release from this repo, so it cannot go stale again. And installation only mentioned needing Chrome. Since 0.2 it also needs a display, which is the change most likely to break an existing deployment: a new Requirements section covers Chrome, the display with the xvfb-run invocation, -headless as the alternative, and the outbound access the fingerprint download needs.
.gitattributes pins LF in the working tree. Git already stores LF, but with core.autocrlf=true a Windows checkout produces CRLF and gofmt then reports all 34 Go files as unformatted despite being byte-identical to its own output. That made the
gofmt -lgate added to go.yml pass on the Linux runner and fail on a Windows contributor's machine for no real reason.Verified: cross-compilation succeeds for linux/amd64, windows/amd64 and darwin/arm64; both workflow files parse; gofmt -l . clean, go vet ./... clean, go test -race ./... green.