Commit Graph
73 Commits
Author SHA1 Message Date
logan 42d3f45d85 fix(ci): remove build-check job from CI workflow (#66)
* ci: remove build-check job from CI workflow

The cross-platform build verification is redundant in CI since the
build and release pipeline (build.yml) already performs full builds
on every release. This reduces CI runner time and costs.

* ci: restrict build-check to Linux PRs and pin R2 action to v1.4

- Build-check now only runs on pull requests (skipped on main merge)
  with only Linux/amd64 enabled; macOS and Windows are commented out
  since the Build & Publish workflow handles all platforms on release.
- Pin ryand56/r2-upload-action from floating v1 tag to v1.4 to fix
  the upload failure seen in the v1.1.0 release build.
2026-02-15 12:52:46 -06:00
logan 89850848cb feat(ci): upload release artifacts to Cloudflare R2 (#65)
After publishing to the GitHub Release, upload the built binaries to
the yellowjacket-releases R2 bucket for the download static site.
2026-02-15 12:24:14 -06:00
logan 7b0b741602 ci: resolve CI failures in type check, codegen, and lint (#64)
* fix: resolve CI failures in type check, codegen, and lint

- Add missing title and artist fields to frontend QueueTrack interface
- Rename queue.QueueTrack to queue.Track and queue.QueueState to
  queue.State to fix revive stutter lint errors
- Fix wsl violations (cuddled declaration, block ending with comment)
- Break long slog lines to satisfy golines formatter
- Run go mod tidy to add missing go.sum entries for templ dependencies
- Regenerate sqlc output for updated tooling version

* fix(ci): disable redundant checkout in govulncheck action

The govulncheck-action runs its own actions/checkout internally,
which conflicts with the checkout@v6 already performed by the job.
This causes 'Duplicate header: Authorization' HTTP 400 errors.
Setting repo-checkout: false skips the redundant checkout.
2026-02-15 12:18:57 -06:00
logan 30b2480df4 fix: resolve all lint errors and make linting a required CI check (#62)
- Fix 10 err113 violations: extract dynamic errors to package-level sentinels
- Fix 12 errcheck violations: handle unchecked error returns in player,
  metadata, and config packages
- Fix 4 revive stutter warnings: rename player.PlayerState to player.State,
  player.PlayerVolume to player.Volume, queue.QueueTrack to queue.Track,
  queue.QueueState to queue.State
- Fix 2 staticcheck SA4001: simplify *&x to x in assets handler
- Fix 5 unused constants: remove dead AudioFileType iota block in models
- Fix gci/gofumpt/wsl formatting issues across multiple files
- Add gofumpt module-path setting to .golangci.yml for correct import grouping
- Fix player test: gate integration test behind YELLOWJACKET_INTEGRATION env var
  instead of only skipping in CI, and replace t.Errorf+t.Failed with t.Fatalf
- Remove continue-on-error from golangci-lint CI step so linting is now required
2026-02-14 01:52:27 -06:00
loganandonion-4-dinner 2d6e22105d chore(deps)!: update actions/checkout action to v6 (#45)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:44:41 -06:00
logan 0aef483b3c fix(ci): use allowedPostUpgradeCommands for Renovate post-upgrade tasks (#60)
RENOVATE_ALLOW_POST_UPGRADE_COMMANDS is not a valid config option.
Self-hosted Renovate requires RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS
with a JSON array of regex patterns to whitelist specific commands.
2026-02-14 01:36:20 -06:00
loganandonion-4-dinner d7382fd844 chore(deps)!: update actions/setup-node action to v6 (#48)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:35:43 -06:00
loganandonion-4-dinner e7d3971107 chore(deps)!: update dependency node to v24 (#51)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:33:28 -06:00
loganandonion-4-dinner aedb7d1e6d chore(deps)!: update golangci/golangci-lint-action action to v9 (#55)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:32:56 -06:00
loganandonion-4-dinner 643ba27f06 chore(deps)!: update amannn/action-semantic-pull-request action to v6 (#50)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:32:30 -06:00
loganandonion-4-dinner a2c644b00e chore(deps)!: update actions/upload-artifact action to v6 (#49)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:31:57 -06:00
loganandonion-4-dinner 8911fb2400 chore(deps)!: update actions/setup-go action to v6 (#47)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:31:40 -06:00
loganandonion-4-dinner 1910f99cf6 chore(deps)!: update actions/download-artifact action to v7 (#46)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:31:24 -06:00
loganandonion-4-dinner 4e91dc75df chore(deps): update dependency go to 1.26 (#44)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:30:57 -06:00
loganandonion-4-dinner f521045540 chore(deps): update go dependencies (non-major) (#40)
* chore(deps): update go dependencies (non-major)

* fix: regenerate code and add postUpgradeTasks for Renovate

Regenerate templ and sqlc output to match bumped tool versions.
Configure Renovate postUpgradeTasks to run 'go generate ./...' after
Go dependency updates, preventing stale generated files in future PRs.

---------

Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:17:59 -06:00
logan b205889128 fix: resolve Renovate repo detection and pre-push hook hang (#36) 2026-02-14 00:40:00 -06:00
logan d36ea98cf2 ci: fix Chore/add renovate (#35)
* ci: add Renovate for automated dependency updates

* fix github action version

* fix: prevent pre-push protect-main hook from hanging on stdin read
2026-02-14 00:32:00 -06:00
logan 5684408d4e ci: add Renovate for automated dependency updates (#34) 2026-02-14 00:20:30 -06:00
logan 5f22be6ed2 ci: add pre-push hook to prevent direct pushes to main (#33)
* ci: add pre-push hook to prevent direct pushes to main

* ci: grant pull-requests read permission to commitlint job
2026-02-14 00:12:18 -06:00
logan e3bda0e2fc fix: rename downloaded artifacts to platform-specific names for release
download-artifact preserves the original binary filename, not the
artifact name. Add a rename step so release assets have descriptive
platform-specific names (e.g., yellowjacket-linux-amd64).
2026-02-13 23:33:47 -06:00
logan 47772f73cc fix: trigger build workflow from release event instead of tag push
Tag pushes created by semantic-release via the GitHub API do not
trigger push-based workflows. Switch to the release event which
fires when semantic-release creates the draft GitHub release.
2026-02-13 23:28:39 -06:00
logan a0973f5614 ci: allow lint step to continue on error 2026-02-13 22:31:51 -06:00
logan 7317e093a7 fix(ci): fix golangci-lint version, skip player test in CI, remove standalone frontend build
- Use specific golangci-lint version (v2.5.0) instead of 'v2' which
  the action cannot parse
- Use --build-tags flag (v2 syntax) instead of -tags
- Skip player test in CI: requires Wails runtime context and audio
  device which are unavailable in GitHub Actions
- Remove standalone 'pnpm build' from frontend job since Vite cannot
  resolve Wails path aliases alone; the build-check job validates the
  full build via Wails
2026-02-13 22:18:25 -06:00
logan d4f936143a fix(ci): resolve CI failures for Go checks, codegen, and frontend type-checking
- Add frontend/dist stub in Go Checks and Go Tests jobs so the
  go:embed directive in main.go resolves without a real frontend build
- Run go mod tidy to add missing go.sum entries for templ/sqlc tool
  transitive dependencies (fixes Code Generation Check)
- Delete dead library-picker.ts that imported non-existent Wails
  bindings module and called undefined functions
- Exclude Wails-generated JS stubs from tsc strict checking via
  tsconfig exclude (the companion .d.ts files provide types)
- Add title and artist fields to QueueTrack interface to match the
  Go backend struct and fix queue-panel.ts type errors
2026-02-13 22:12:16 -06:00
logan 346815cbc5 ci: run CI checks on push to main
Add push trigger for main branch so CI validates the post-merge
state. Skip the PR title lint job on push events since it only
applies to pull requests.
2026-02-13 21:56:49 -06:00
logan 24f21af835 fix(ci): configure git credentials explicitly for semantic-release PAT
persist-credentials: false prevents actions/checkout from overriding
git auth with GITHUB_TOKEN. Manual credential store setup ensures
all git pushes (including from @semantic-release/git) use the PAT,
which is required to trigger the build workflow on tag push.
2026-02-13 21:46:19 -06:00
logan 68d41c0ff2 fix(ci): use PAT for semantic-release to trigger build workflow
GITHUB_TOKEN events cannot trigger other workflows by design.
Use a fine-grained PAT (RELEASE_TOKEN secret) so the tag push
from semantic-release triggers the build.yml workflow.
2026-02-13 21:38:59 -06:00
logan caf3e843af feat(ci): add semantic-release pipeline, cross-platform builds, and lefthook git hooks
- Replace single wails.yml with three-workflow pipeline: ci.yml (PR checks),
  release.yml (semantic-release on main), build.yml (versioned builds on tag)
- PR pipeline: conventional commit lint, golangci-lint, govulncheck, go test,
  codegen freshness check, frontend type-check, cross-platform build verification
- Release pipeline: semantic-release with auto-changelog and draft GitHub releases
- Build pipeline: versioned linux/amd64, darwin/universal, windows/amd64 binaries
  with version and commit SHA injected via ldflags
- Add lefthook as go tool for pre-commit (vet, lint, codegen, tsc) and
  pre-push (test, mod verify) git hooks
- Fix golangci-lint gci config to enforce three-group import style
- Upgrade Go to 1.25
- Add version/commit variables to main.go for build-time injection
- Add lint, test, vulncheck, and setup targets to Makefile
2026-02-13 21:26:33 -06:00
logan 17a5e43c5b fixed mac file upload 2025-04-16 13:33:15 -05:00
logan b988518746 fixed windows upload file and named find step 2025-04-16 13:25:54 -05:00
logan 21e09d453d ill try powershell instead 2025-04-16 13:19:31 -05:00
logan ea093f27be trying to add quotes to fix windows dir command 2025-04-16 13:12:10 -05:00
logan afd6a21042 hope to fix the windows dir command 2025-04-16 13:03:13 -05:00
logan d07d84b50c hopefully fixed all of the find commands 2025-04-16 12:55:30 -05:00
logan 81e753a0f4 separated build jobs for each platform 2025-04-16 12:47:05 -05:00
logan 9b63ce69b3 apparently you cant use type on windows either 2025-04-16 11:53:46 -05:00
logan b3424a27ab turns out you cant do conditionals on matrix 2025-04-16 11:43:53 -05:00
logan 42e12c2fb4 fix windows path for debugging 2025-04-16 11:31:46 -05:00
logan 9267eacb3f added find steps for troubleshooting 2025-04-16 11:24:59 -05:00
logan f8bc2e9833 set static run name 2025-04-14 22:46:52 -05:00
logan b98abd5fa0 remove prerelease 2025-04-14 22:42:28 -05:00
logan cff27dd94e lets put all artifacts in the same directory 2025-04-14 21:06:16 -05:00
logan f7ce65a2e5 oops wrong release action version 2025-04-14 20:54:02 -05:00
logan da3018ad60 fixed release version 2025-04-14 20:48:23 -05:00
logan b7b2fc6938 fixed glob path for subdirectories from download step 2025-04-14 20:44:40 -05:00
logan 0962b80291 fix release glob pattern 2025-04-14 20:39:37 -05:00
logan 038feaed4d trying to fix the artifact path for upload 2025-04-14 20:26:10 -05:00
logan e38a56fd69 removed temporary artifact deletion 2025-04-14 20:03:06 -05:00
logan 38f51d2a29 fixed input and output binary files 2025-04-14 19:59:38 -05:00
logan 72cc5ccf22 upload all binaries 2025-04-14 19:55:27 -05:00