feat(module): initialize Go module #126

Merged
fuzzy merged 1 commit from feat/initialize-go-module into main 2026-08-02 07:16:35 +00:00
Owner

What

Initialize the Go module for thwap-pagesd:

  • Create go.mod with module path git.lan.thwap.org/thwap/thwap-pagesd and Go 1.25 directive (>= 1.24 per roadmap, matches CI GO_VERSION).
  • Add minimal cmd/thwap-pagesd/main.go entrypoint so the module builds and the CI go build ./cmd/thwap-pagesd step passes.
  • Create empty internal/ and pkg/ directories.
  • Mark task #3 (and subtasks #1, #2) done in ROADMAP.md.

Why

Phase 1 foundation task: the repository had CI/hygiene scaffolding but no Go module. This is the first step toward the self-hosted Forgejo Pages daemon.

Testing

  • go mod tidy
  • go vet ./...
  • go test -race ./...
  • go build ./cmd/thwap-pagesd
  • gofmt -l ./cmd ./internal clean
  • golangci-lint run — 0 issues
  • pre-commit hooks all pass

Note: pinned the golangci-lint pre-commit hook to v2.12.2 (the v2.12.8 tag referenced in the config does not exist upstream, which blocked git commit).

Breaking Changes

None.

Notes

Issues #1, #2, #3 were closed via the Forgejo API as part of this task per the workflow.

Closes #1
Closes #2
Closes #3

## What Initialize the Go module for `thwap-pagesd`: - Create `go.mod` with module path `git.lan.thwap.org/thwap/thwap-pagesd` and Go 1.25 directive (>= 1.24 per roadmap, matches CI `GO_VERSION`). - Add minimal `cmd/thwap-pagesd/main.go` entrypoint so the module builds and the CI `go build ./cmd/thwap-pagesd` step passes. - Create empty `internal/` and `pkg/` directories. - Mark task #3 (and subtasks #1, #2) done in ROADMAP.md. ## Why Phase 1 foundation task: the repository had CI/hygiene scaffolding but no Go module. This is the first step toward the self-hosted Forgejo Pages daemon. ## Testing - [x] `go mod tidy` - [x] `go vet ./...` - [x] `go test -race ./...` - [x] `go build ./cmd/thwap-pagesd` - [x] `gofmt -l ./cmd ./internal` clean - [x] `golangci-lint run` — 0 issues - [x] pre-commit hooks all pass Note: pinned the golangci-lint pre-commit hook to `v2.12.2` (the `v2.12.8` tag referenced in the config does not exist upstream, which blocked `git commit`). ## Breaking Changes None. ## Notes Issues #1, #2, #3 were closed via the Forgejo API as part of this task per the workflow. Closes #1 Closes #2 Closes #3
feat(module): initialize Go module
All checks were successful
Test and Release / lint (pull_request) Successful in 1m26s
Test and Release / test (pull_request) Successful in 2m11s
40b2a72932
Create go.mod with module path git.lan.thwap.org/thwap/thwap-pagesd
and Go 1.25 directive. Add minimal main entrypoint so the module
builds and CI passes. Mark task done in ROADMAP.md.

closes #1
closes #2
closes #3
the.auditor left a comment

Review Summary

Verified locally on the PR head (40b2a72): go build, go vet, go test -race, gofmt and golangci-lint run all pass clean. Module path, Go 1.25 directive, and cmd/thwap-pagesd entrypoint all match the CI config from #124. ROADMAP task state and closed issues (#1, #2, #3) are consistent.

The v2.12.8v2.12.2 pre-commit pin correction is right — v2.12.2 is the version I verified against locally.

No blocking issues.

Minor non-blocking: CI (ci.yml) installs golangci-lint v2.12.0 while pre-commit pins v2.12.2 — harmless drift, worth aligning someday.

Approving.

## Review Summary Verified locally on the PR head (`40b2a72`): `go build`, `go vet`, `go test -race`, `gofmt` and `golangci-lint run` all pass clean. Module path, Go 1.25 directive, and `cmd/thwap-pagesd` entrypoint all match the CI config from #124. ROADMAP task state and closed issues (#1, #2, #3) are consistent. The `v2.12.8` → `v2.12.2` pre-commit pin correction is right — `v2.12.2` is the version I verified against locally. **No blocking issues.** Minor non-blocking: CI (`ci.yml`) installs golangci-lint `v2.12.0` while pre-commit pins `v2.12.2` — harmless drift, worth aligning someday. Approving.
fuzzy merged commit 40b2a72932 into main 2026-08-02 07:16:35 +00:00
fuzzy deleted branch feat/initialize-go-module 2026-08-02 07:16:35 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
thwap/thwap-pagesd!126
No description provided.