feat: initial CI/CD pipeline, Dockerfile, K8s manifests, build+test scripts
Build and Deploy / build-and-test (push) Failing after 3m37s
Build and Deploy / build-image (push) Has been skipped
Build and Deploy / deploy (push) Has been skipped

This commit is contained in:
2026-05-31 13:31:56 +00:00
parent b05e0f0a53
commit abf29e61de
11 changed files with 370 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
const fs = require('fs');
const path = require('path');
const srcDir = path.join(__dirname, 'src');
const distDir = path.join(__dirname, 'dist');
if (!fs.existsSync(distDir)) {
fs.mkdirSync(distDir, { recursive: true });
}
// Simple build: copy static assets and generate index.html
const indexHtml = `<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Signal Ledger</title>
<link rel="stylesheet" href="/style.css">
</head>
<body>
<header>
<h1>Signal Ledger</h1>
<p class="tagline">Independent news. Clear signal.</p>
</header>
<main>
<p>Welcome to Signal Ledger — a subsidiary of Jopdorp.</p>
</main>
<footer>
<p>Signal Ledger is a subsidiary of Jopdorp.</p>
</footer>
</body>
</html>
`;
fs.writeFileSync(path.join(distDir, 'index.html'), indexHtml);
// Copy style.css if it exists
const styleSrc = path.join(srcDir, 'style.css');
const styleDest = path.join(distDir, 'style.css');
if (fs.existsSync(styleSrc)) {
fs.copyFileSync(styleSrc, styleDest);
} else {
fs.writeFileSync(styleDest, `body{font-family:system-ui,sans-serif;margin:0;padding:2rem;background:#0b0c10;color:#c5c6c7}header{border-bottom:1px solid #45a29e;padding-bottom:1rem;margin-bottom:2rem}h1{color:#66fcf1;margin:0}.tagline{color:#45a29e}footer{margin-top:4rem;padding-top:1rem;border-top:1px solid #45a29e;font-size:.875rem;color:#45a29e}`);
}
console.log('Build complete: dist/');