name: ci on: push: pull_request: jobs: test: runs-on: ubuntu-latest steps: - name: checkout uses: actions/checkout@v4 - name: setup go uses: actions/setup-go@v5 with: go-version-file: go.mod - name: setup bun uses: oven-sh/setup-bun@v2 - name: install templ run: go install github.com/a-h/templ/cmd/templ@latest - name: verify templates generated run: | templ generate if [ -n "$(git status --porcelain -- '*_templ.go')" ]; then echo "templ output is out of date" git status --short -- '*_templ.go' exit 1 fi - name: install frontend deps run: bun install --frozen-lockfile - name: typecheck run: bun run typecheck - name: build assets run: bun run build:assets - name: go test run: go test ./... - name: go vet run: go vet ./...