34 lines
839 B
TypeScript
34 lines
839 B
TypeScript
const baseUrl = process.env.GITEA_PREVIEW_URL ?? "http://localhost:3000";
|
|
|
|
async function waitFor(url: string) {
|
|
const deadline = Date.now() + 60_000;
|
|
let lastError: unknown;
|
|
|
|
while (Date.now() < deadline) {
|
|
try {
|
|
const response = await fetch(url);
|
|
if (response.ok) {
|
|
return response;
|
|
}
|
|
|
|
lastError = new Error(`${url} returned ${response.status}`);
|
|
} catch (error) {
|
|
lastError = error;
|
|
}
|
|
|
|
await Bun.sleep(1000);
|
|
}
|
|
|
|
throw lastError;
|
|
}
|
|
|
|
const home = await waitFor(baseUrl);
|
|
const theme = await waitFor(`${baseUrl}/assets/css/theme-gitea-auto.css`);
|
|
const css = await theme.text();
|
|
|
|
if (!css.includes("--gt-color-accent")) {
|
|
throw new Error("theme css is reachable but does not contain generated tokens");
|
|
}
|
|
|
|
console.log(`docker preview verified: ${home.status} ${baseUrl}`);
|