diff options
| author | Joe Mou <dev@mou.fo> | 2026-08-11 08:37:25 -0400 |
|---|---|---|
| committer | Joe Mou <dev@mou.fo> | 2026-08-11 08:38:30 -0400 |
| commit | ab52f48e50d0dd242ad5b0cfbee9c458946cd427 (patch) | |
| tree | beb9519f163cd1ee2b229c8811b4de636c76078b /cgithub/src | |
| parent | 2b4a69720b53480d82cf296ac5dbe4614d9470b9 (diff) | |
Show the build's commit in the page footer
Workers can't shell out at request time, so the commit has to be baked
in before wrangler bundles the sources. compile-views.ts grows a second
job and becomes scripts/build.ts: alongside the precompiled views it
writes src/commit.generated.ts with `git describe --tags --always
--dirty`, which yields a bare short hash until the repo is tagged and
marks builds made from an unclean working copy.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'cgithub/src')
| -rw-r--r-- | cgithub/src/app.ts | 3 | ||||
| -rw-r--r-- | cgithub/src/worker.ts | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/cgithub/src/app.ts b/cgithub/src/app.ts index 5bed45d..0218918 100644 --- a/cgithub/src/app.ts +++ b/cgithub/src/app.ts @@ -1,6 +1,7 @@ import type { Eta } from "eta"; import { type Context, Hono } from "hono"; import type { StatusCode } from "hono/utils/http-status"; +import { commit } from "./commit.generated.ts"; import { getGitHubBlob, getGitHubCommits, @@ -47,7 +48,7 @@ export function createApp(eta: Eta) { // Our URLs mirror GitHub's, so the page we scraped is the same path there. const { pathname, search } = new URL(c.req.url); const githubUrl = `https://github.com${pathname}${search}`; - return c.html(eta.render(template, { ...data, githubUrl })); + return c.html(eta.render(template, { ...data, githubUrl, commit })); } // For fragments fetched asynchronously by client-side JS (see public/static/refs.js): diff --git a/cgithub/src/worker.ts b/cgithub/src/worker.ts index 024b01a..7bf9100 100644 --- a/cgithub/src/worker.ts +++ b/cgithub/src/worker.ts @@ -5,7 +5,7 @@ import { createApp } from "./app.ts"; import { views } from "./views.generated.ts"; // Workers disallow runtime code generation, so templates are precompiled by -// scripts/compile-views.ts and preloaded into Eta's cache here. With +// scripts/build.ts and preloaded into Eta's cache here. With // cache: true, Eta serves them from the cache and never compiles. const eta = new Eta({ cache: true }); |
