Commit Graph
100 Commits
Author SHA1 Message Date
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
loganandonion-4-dinner e32b217912 chore(deps)!: update module github.com/evilmartians/lefthook to v2 (#61)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:52:46 -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 f0006c4c43 chore(deps)!: update dependency vite to v7 (#53)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:41:06 -06:00
loganandonion-4-dinner b941135ee8 chore(deps): Lock file maintenance (#56)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:40:53 -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 422aabcc07 chore(deps)!: update dependency stylelint-config-standard to v40 (#52)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:34:05 -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 77fa6435a5 chore(deps)!: update dependency vite-plugin-static-copy to v3 (#54)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:33:09 -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
logan 3dc302386c docs: rewrite README with features, architecture, and dev setup (#43)
Replace the placeholder README with comprehensive documentation covering
install instructions, feature list, architecture overview, development
prerequisites, build/test/lint commands, data locations, and project
structure. Add CI and Release badges.
2026-02-14 01:19:30 -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
loganandonion-4-dinner 09becbe37d chore(deps): update frontend dependencies (non-major) (#39)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:03:19 -06:00
loganandonion-4-dinner 0add5f6df4 chore(deps): update module github.com/wailsapp/wails/v2 to v2.11.0 (#41)
Co-authored-by: onion-4-dinner <15676555+onion-4-dinner@users.noreply.github.com>
2026-02-14 01:02:42 -06:00
logan 62f9509b59 docs: improve AGENTS.md with accurate build tags, commands, and style guidelines (#42)
- Fix Go version from 1.24+ to 1.25 (matching go.mod)
- Add missing make lint/test commands
- Add critical -tags webkit2_41 requirement to all test commands
- Add warning about generated files (sqlcgen/, *_templ.go)
- Add unexported sentinel error convention, logger.WithGroup() pattern
- Add SQLite WAL mode and SetMaxOpenConns(1) detail
- Add frontend type checking command (tsc --noEmit)
- Add missing backend directories to structure
- Consolidate and tighten sections to reduce line count
2026-02-14 01:02:10 -06:00
logan a986034dd4 ci: set Renovate prCreation to immediate so PRs are opened (#38) 2026-02-14 00:49:15 -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 672fe24ee9 fix: use path.Join for embed.FS paths to fix Windows build
filepath.Join uses OS-specific separators (backslash on Windows), but
embed.FS always uses forward slashes. This caused schema file lookups
to fail during Wails binding generation on Windows.
2026-02-13 23:16:57 -06:00
logan 330a53c9f4 fix: resolve frontend build failures in CI
- Remove noautoinject Wails scripts from config.html (Vite 6 requires
  type="module" on all script tags; Wails auto-injects them anyway).
- Replace vite-tsconfig-paths plugin with Vite native resolve.alias,
  fixing path alias resolution that was silently broken during builds.
- Remove unused vite-tsconfig-paths dependency.
2026-02-13 23:06:01 -06:00
logan 5a958db162 fix: allow library to initialize without config and fix lefthook lint flag
- Default to empty Config in NewLibrary when nil is passed, so Wails
  binding generation succeeds without a config file on disk.
- Fix golangci-lint v2 flag in lefthook (--build-tags, not -tags).
- Run golangci-lint on full project instead of individual staged files.
2026-02-13 22:50:51 -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 d78c0584e2 Squash merge audio-player-component into main 2026-02-13 20:39:23 -06:00
logan 9b7cfd5bd1 Merge branch 'main' into ci 2025-04-16 13:53:25 -05:00
logan 89dbd0adf3 Merge branch 'main' into database 2025-04-16 13:50:42 -05:00
logan faa9123c45 no changes, just syncing db
* started schema

* db schemas beginning

* first db schema gen

* added sqlc generation with go generate and sqlite driver

* i think these dependencies are needed

* added IF NOT EXISTS to create and CRUD for each table

* fixed missing columns

* added missing field

* fixed code generation with sqlc
2025-04-16 13:49:59 -05:00
logan b62b1e0477 Merge branch 'main' into ci 2025-04-16 13:48:28 -05:00
logan 817beef2be Merge branch 'main' into database 2025-04-16 13:48:20 -05:00
logan 75fc3a6e43 CI release fix and basic DB CRUD
CI release fix and basic DB CRUD
2025-04-16 13:46:35 -05:00
logan b24e734ae3 Database basic CRUD (#27)
* started schema

* db schemas beginning

* first db schema gen

* added sqlc generation with go generate and sqlite driver

* i think these dependencies are needed

* added IF NOT EXISTS to create and CRUD for each table

* fixed missing columns

* added missing field

* fixed code generation with sqlc
2025-04-16 13:45:44 -05:00
logan d062644a3e fix ci release (#26)
* added package flag to build ci

* bump wails-build-action version

* updated dependencies and go version to 1.24

* fixed wails build action version and point to go1.24

* using main version of wails build action

* added dependencies step

* added write permission for workflow

* switched alsa dep for proper dep

* added pnpm install step

* added pnpm version

* added os name to binary output

* undo last commit

* renamed windows binary, manually handle release

* fixed github ref name variable

* moved release to different job

* set build pre-req for release

* fixing artifact handling, manual upload

* fixed working directory

* fixed artifact naming

* fixing upload and download

* fixed artifact upload name

* fixed upload artifact name again

* upload all binaries

* fixed input and output binary files

* removed temporary artifact deletion

* trying to fix the artifact path for upload

* fix release glob pattern

* fixed glob path for subdirectories from download step

* fixed release version

* oops wrong release action version

* lets put all artifacts in the same directory

* remove prerelease

* set static run name

* added find steps for troubleshooting

* fix windows path for debugging

* turns out you cant do conditionals on matrix

* apparently you cant use type on windows either

* separated build jobs for each platform

* hopefully fixed all of the find commands

* hope to fix the windows dir command

* trying to add quotes to fix windows dir command

* ill try powershell instead

* fixed windows upload file and named find step

* fixed mac file upload
2025-04-16 13:44:55 -05:00
logan fae3222f4e Merge branch 'dev' into ci 2025-04-16 13:43:46 -05: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 ed76ce89e0 fixed code generation with sqlc 2025-04-16 12:52:30 -05:00
logan 6e2506c70d added missing field 2025-04-16 12:48:29 -05:00
logan 81e753a0f4 separated build jobs for each platform 2025-04-16 12:47:05 -05:00
logan 792ee630db fixed missing columns 2025-04-16 12:38:08 -05:00
logan c20cac4015 added IF NOT EXISTS to create and CRUD for each table 2025-04-16 12:12:17 -05:00
logan 9b63ce69b3 apparently you cant use type on windows either 2025-04-16 11:53:46 -05:00
logan faa25fe745 i think these dependencies are needed 2025-04-16 11:53:14 -05:00
logan a6afa67f51 merge dev 2025-04-16 11:45:55 -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 43dcb44c2f Merge pull request #23 from LJ-Software/dev
pre-alpha-0
2025-04-14 22:57:58 -05:00
logan 2616b80d31 Build release pipeline (#22)
* added package flag to build ci

* bump wails-build-action version

* updated dependencies and go version to 1.24

* fixed wails build action version and point to go1.24

* using main version of wails build action

* added dependencies step

* added write permission for workflow

* switched alsa dep for proper dep

* added pnpm install step

* added pnpm version

* added os name to binary output

* undo last commit

* renamed windows binary, manually handle release

* fixed github ref name variable

* moved release to different job

* set build pre-req for release

* fixing artifact handling, manual upload

* fixed working directory

* fixed artifact naming

* fixing upload and download

* fixed artifact upload name

* fixed upload artifact name again

* upload all binaries

* fixed input and output binary files

* removed temporary artifact deletion

* trying to fix the artifact path for upload

* fix release glob pattern

* fixed glob path for subdirectories from download step

* fixed release version

* oops wrong release action version

* lets put all artifacts in the same directory

* remove prerelease

* set static run name
2025-04-14 22:55:57 -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
logan 2b5e5dff60 fixed upload artifact name again 2025-04-14 19:52:05 -05:00
logan dea9c9a943 fixed artifact upload name 2025-04-14 19:45:02 -05:00
logan 59aff369d8 fixing upload and download 2025-04-14 19:33:04 -05:00
logan 30bf46ad06 fixed artifact naming 2025-04-14 19:09:49 -05:00
logan 4c9e08fa03 fixed working directory 2025-04-14 19:06:36 -05:00
logan 8ac63d58cd fixing artifact handling, manual upload 2025-04-14 19:04:13 -05:00
logan fc62ba8a52 set build pre-req for release 2025-04-14 18:49:09 -05:00
logan 37c74f5e96 moved release to different job 2025-04-14 18:45:50 -05:00
logan 45392e68fd fixed github ref name variable 2025-04-14 18:39:48 -05:00
logan e837c0e9a4 renamed windows binary, manually handle release 2025-04-14 18:35:17 -05:00
logan 30098491a1 undo last commit 2025-04-14 18:09:40 -05:00
logan 8aa93644f6 added os name to binary output 2025-04-14 18:03:02 -05:00
logan 51f15df122 added pnpm version 2025-04-14 17:56:38 -05:00
logan 203ec4862c added pnpm install step 2025-04-14 17:55:08 -05:00
logan 41191c67c6 switched alsa dep for proper dep 2025-04-14 17:47:53 -05:00
logan 2850771ab3 added write permission for workflow 2025-04-14 17:40:47 -05:00
logan cb2b0e8ffe added dependencies step 2025-04-14 17:25:18 -05:00
logan 2a024dce1d using main version of wails build action 2025-04-14 17:18:19 -05:00
logan 50aacbe0f0 fixed wails build action version and point to go1.24 2025-04-14 17:15:09 -05:00
logan 64cd2836d4 updated dependencies and go version to 1.24 2025-04-14 17:13:42 -05:00
logan ba71d2b5b3 bump wails-build-action version 2025-04-14 17:06:05 -05:00