Merged
Conversation
Adds the full luminarr-style .github scaffolding adapted for Haul: - ci.yml — Go test + lint + binary build + multi-arch Docker image push to ghcr.io on main - claude.yml — Claude Code Action for automatic issue triage and @claude mention handling on PRs and comments - ISSUE_TEMPLATE/bug_report.yml and feature_request.yml with a structured form for reports - CONTRIBUTING.md with the development setup, regression-suite note, and code standards Haul-specific deltas vs luminarr's template: no TMDB/Trakt ldflags (Haul is a torrent client, no media metadata), single docker image using docker/Dockerfile (no minimal variant exists), no frontend test job (no npm test script), bug report mentions the VPN container deployment, feature request parity dropdown targets BT clients (qBittorrent / Deluge / Transmission) instead of Radarr. Requires GHCR_TOKEN (classic PAT with write:packages) and ANTHROPIC_API_KEY secrets on the repo before the workflows run green. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Before this change haul's go.mod had a local replace directive pointing
the pulse SDK dependency at the developer's working copy:
replace github.com/beacon-stack/pulse => /home/davidfic/dev/beacon/pulse
That works on the author's laptop but breaks every other machine — CI
runners don't have /home/davidfic/dev/beacon/pulse, so go mod download
fails and cascades into every downstream job (test, lint, build,
docker).
Replaces the replace with a normal module require pinned to the newly
tagged pulse v0.1.0 on github.com/beacon-stack/pulse. Local
cross-module development is still available via go.work (gitignored)
at the beacon monorepo root.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Two related fixes.
First, cmd/haul/main.go was silently untracked for the entire life
of the repo because .gitignore had an unanchored entry:
# Binaries
haul
That pattern matches *any* file or directory named `haul` anywhere in
the tree, so it caught cmd/haul/ as well as the intended root binary.
CI caught this as `stat /home/runner/work/haul/haul/cmd/haul:
directory not found` when go build looked for the main package. git
add works — git never considered the file off-limits once it was
explicitly tracked.
Second, anchor the binary pattern to the repo root (`/haul`) so it
only matches the intended build artifact at the top level. The same
unanchored pattern exists in pulse and pilot but those happened to
commit cmd/<app>/ before adding the ignore rule, so git grandfathered
them. Fixing the source of the bug here and leaving the siblings
alone until they need it.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Triggers on v* tag pushes and produces:
- Cross-platform binaries (linux/darwin/windows × amd64/arm64, minus
windows/arm64) archived as tar.gz / zip with LICENSE, README, and
config.example.yaml alongside
- checksums.txt for all archives
- A GitHub Release with auto-generated notes scraped from commit
messages (excludes docs/chore/test/ci prefixes)
- Multi-tag Docker images pushed to ghcr.io/beacon-stack/haul: the
full version, {major}.{minor}, {major}, and latest
Dockerfile lives at docker/Dockerfile (no minimal variant for haul).
Requires GHCR_TOKEN on the repo — same secret already needed by ci.yml
for its main-branch docker job.
Tag a release with `git tag v0.1.0 && git push --tags` and the
workflow takes over.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
Brings Haul in line with the luminarr-era scaffolding the other Beacon apps are getting in parallel PRs.
Haul-specific deltas vs the luminarr template
Required repo secrets
Test plan