feat(ci): stamp build metadata and validate footer version hash
This commit is contained in:
29
apps/web/src/lib/build-info.test.ts
Normal file
29
apps/web/src/lib/build-info.test.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
import { afterEach, describe, expect, it, vi } from "vitest"
|
||||
|
||||
import { getBuildInfo } from "./build-info"
|
||||
|
||||
afterEach(() => {
|
||||
vi.unstubAllEnvs()
|
||||
})
|
||||
|
||||
describe("getBuildInfo (web)", () => {
|
||||
it("returns fallback values when env is missing", () => {
|
||||
vi.stubEnv("NEXT_PUBLIC_APP_VERSION", "")
|
||||
vi.stubEnv("NEXT_PUBLIC_GIT_SHA", "")
|
||||
|
||||
expect(getBuildInfo()).toEqual({
|
||||
version: "0.0.1-dev",
|
||||
sha: "local",
|
||||
})
|
||||
})
|
||||
|
||||
it("uses env values and truncates git sha", () => {
|
||||
vi.stubEnv("NEXT_PUBLIC_APP_VERSION", "0.2.0")
|
||||
vi.stubEnv("NEXT_PUBLIC_GIT_SHA", "123456789abc")
|
||||
|
||||
expect(getBuildInfo()).toEqual({
|
||||
version: "0.2.0",
|
||||
sha: "1234567",
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user