Commit Graph
10 Commits
Author SHA1 Message Date
logan 2a3a79652c add dev-only profiling with pprof, runtime/trace, and operation timing
Wire up Go's standard profiling toolkit so it's automatically available
in dev builds and completely absent from production. The profiling
package uses build tags (dev/!dev) to eliminate all pprof, trace, and
timing code from release binaries with zero new dependencies.

- backend/profiling: pprof HTTP server on :6060, /debug/trace endpoint,
  block/mutex profiling, and TimeOp helper for structured operation timing
- scripts/profile.sh: interactive menu-driven script that auto-selects
  free ports (8080-8089) so multiple profiles can be open simultaneously
- Instrumented key operations: app init, database init, player load/restore,
  queue set/restore
- Makefile targets: profile, profile-cpu, profile-heap, profile-trace
- .gitignore: exclude trace-*.out and *.pprof artifacts
2026-02-20 18:27:25 -06:00
logan dc6c46f856 chore: add make install target and manage all dev tools via go.mod tool directive (#72) 2026-02-15 15:23:52 -06:00
logan 73165877fa fix: add typescript as explicit devDependency and auto-install frontend deps in setup (#70) 2026-02-15 14:54:39 -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 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 58b3b0a385 fixed production build assets and makefile targets 2025-04-14 16:50:26 -05:00
yonlu 2ca2b50e83 got bulk of player api 2025-03-26 19:56:07 -04:00
logan 5097a6472a removed build dir 2025-03-24 20:09:22 -05:00
logan b43c479fc0 added makefile, organised FE assets, bump webkit ver for dev 2025-03-23 22:55:31 -05:00