feat: embed templates and static assets with go:embed #232
Open
AI-Manager
wants to merge 1 commits from
feat/go-embed-assets-231 into master
pull from: feat/go-embed-assets-231
merge into: leeworks-agents:master
leeworks-agents:master
leeworks-agents:test/htmx-fragment-assertions-217
leeworks-agents:feat/merge-pull-handler-229
leeworks-agents:feat/pr-assignees-route-228
leeworks-agents:feat/merge-pull-client-187
leeworks-agents:feat/token-expired-redirect-192
leeworks-agents:feat/label-color-pills-193
leeworks-agents:feat/structured-logging-200
leeworks-agents:feat/graceful-shutdown-201
leeworks-agents:chore/add-go-sum-203
leeworks-agents:feat/get-changed-files-205
leeworks-agents:fix/ci-pull-request-trigger-204
leeworks-agents:fix/smoke-test-triage-route-157
leeworks-agents:chore/add-go-vet-ci-154
leeworks-agents:feature/dark-mode-validation-119
leeworks-agents:feature/smoke-test-runbook-116
leeworks-agents:feature/air-toml-109
leeworks-agents:feature/readme-148
leeworks-agents:feature/unit-tests-triage-queue-117
leeworks-agents:feature/integration-tests-batch1
leeworks-agents:feature/rate-limit-retry-132
leeworks-agents:feature/error-handlers-131
leeworks-agents:feature/unit-tests-submit-review-apply-label-127
leeworks-agents:feature/extract-settings-template-126
leeworks-agents:feature/gitea-token-fallback-125
leeworks-agents:feature/unit-tests-122-121
leeworks-agents:feature/tablet-grid-layout-105
leeworks-agents:fix/ci-runner-and-race-95-103
leeworks-agents:feature/pr-status-icons-97
leeworks-agents:feature/assignee-avatar-98
leeworks-agents:feature/pr-close-reopen-91
leeworks-agents:fix/dockerfile-go-sum-89
leeworks-agents:feature/searchable-repo-selector-87
leeworks-agents:feature/repo-filter-83
leeworks-agents:feature/label-filter-82
leeworks-agents:feature/pr-comments-81
leeworks-agents:feature/pr-state-filter
leeworks-agents:feature/assign-action
leeworks-agents:feature/label-multiselect
leeworks-agents:feature/dashboard-org-filter
leeworks-agents:feature/pagination-infinite-scroll
leeworks-agents:feature/close-comment-actions
leeworks-agents:feature/pull-to-refresh
leeworks-agents:feature/render-markdown-rebase2
leeworks-agents:fix/create-issue-validation-rebase
leeworks-agents:feature/render-markdown-rebase
leeworks-agents:feature/template-refactor-rebase
leeworks-agents:feature/render-markdown
leeworks-agents:feature/template-refactor
leeworks-agents:fix/create-issue-validation
leeworks-agents:feature/issues-new-handler
leeworks-agents:feature/close-issue-post-comment
leeworks-agents:feature/issue-pr-detail-handlers
leeworks-agents:fix/remove-github-output
leeworks-agents:fix/gitea-sha-ci-workflow
leeworks-agents:fix/vendor-htmx-locally
leeworks-agents:feature/templates-css
leeworks-agents:feature/pwa
leeworks-agents:feature/dockerfile-ci
leeworks-agents:feature/http-handlers
leeworks-agents:feature/gitea-aggregation
leeworks-agents:feature/config-auth
leeworks-agents:feature/scaffold-project
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b5bde59f10 |
feat: embed templates and static assets with go:embed for distroless containers
Replace all runtime template.ParseFiles() calls with template.ParseFS() using an embedded filesystem, and serve static assets from an embedded FS via http.FileServerFS(). This eliminates the need for COPY steps in the Dockerfile and ensures the binary works with readOnlyRootFilesystem: true. - Add internal/templates/embed.go exposing templates.FS - Add static/embed.go exposing static.FS - Update all handlers to use template.ParseFS(templates.FS, ...) - Update static file server to use http.FileServerFS(static.FS) - Remove COPY static/ and COPY internal/templates/ from Dockerfile - Remove TestMain working directory hack (no longer needed) Closes leeworks-agents/gitea-mobile#231 Closes leeworks-agents/gitea-mobile#220 Closes leeworks-agents/gitea-mobile#221 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |