Commit Graph
15 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 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
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 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
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 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 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