feat: enhance dev workflow and prepare for goreleaser
- Update Makefile with new targets: - lint-backend: Run golangci-lint via Docker - lint-docker: Run hadolint via Docker - test-race: Run Go tests with race detection - benchmark: Run Go benchmarks - integration-test: Run local integration tests - Update .pre-commit-config.yaml: - Add go-test-race hook - Add golangci-lint hook - Add hadolint hook - Add .goreleaser.yaml configuration: - Define builds for linux/amd64 and linux/arm64 - Configure archive creation (tar.gz) - Configure package creation (deb, rpm) - Add .github/workflows/release-goreleaser.yml: - New workflow to test GoReleaser builds - Builds frontend first, then uses GoReleaser - Handles cross-compilation dependencies
This commit is contained in:
@@ -39,6 +39,24 @@ repos:
|
||||
language: system
|
||||
files: '\.go$'
|
||||
pass_filenames: false
|
||||
- id: go-test-race
|
||||
name: Go Test Race
|
||||
entry: bash -c 'cd backend && go test -race ./...'
|
||||
language: system
|
||||
files: '\.go$'
|
||||
pass_filenames: false
|
||||
- id: golangci-lint
|
||||
name: GolangCI-Lint
|
||||
entry: bash -c 'cd backend && docker run --rm -v $(pwd):/app -w /app golangci/golangci-lint:latest golangci-lint run -v'
|
||||
language: system
|
||||
files: '\.go$'
|
||||
pass_filenames: false
|
||||
- id: hadolint
|
||||
name: Hadolint Dockerfile Check
|
||||
entry: bash -c 'docker run --rm -i hadolint/hadolint < Dockerfile'
|
||||
language: system
|
||||
files: 'Dockerfile'
|
||||
pass_filenames: false
|
||||
- id: frontend-type-check
|
||||
name: Frontend TypeScript Check
|
||||
entry: bash -c 'cd frontend && npm run type-check'
|
||||
|
||||
Reference in New Issue
Block a user