fix(ci): optimize pipeline speed and fix link check stability
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 1m7s
Nightly QA / 🔗 Links & Deps (push) Failing after 2m43s
Build & Deploy / 🧪 QA (push) Has been cancelled
Build & Deploy / 🏗️ Build (push) Has been cancelled
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Nightly QA / 🔍 Static Analysis (push) Has been cancelled
Nightly QA / ♿ Accessibility (push) Has started running
Nightly QA / 🎭 Lighthouse (push) Has started running
Nightly QA / 🔔 Notify (push) Has been cancelled

This commit is contained in:
2026-03-02 13:57:53 +01:00
parent 6440d893f0
commit 1577bfd2ec
3 changed files with 20 additions and 9 deletions

View File

@@ -6,10 +6,12 @@ const targetUrl =
process.argv.find((arg) => !arg.startsWith('--') && arg.startsWith('http')) ||
process.env.NEXT_PUBLIC_BASE_URL ||
'http://localhost:3000';
const limit = process.env.ASSET_CHECK_LIMIT ? parseInt(process.env.ASSET_CHECK_LIMIT) : 20;
const gatekeeperPassword = process.env.GATEKEEPER_PASSWORD || 'klz2026';
async function main() {
console.log(`\n🚀 Starting Strict Asset Integrity Check for: ${targetUrl}`);
console.log(`📊 Limit: ${limit} pages\n`);
// 1. Fetch Sitemap to discover all routes
const sitemapUrl = `${targetUrl.replace(/\/$/, '')}/sitemap.xml`;
@@ -34,6 +36,17 @@ async function main() {
.sort();
console.log(`✅ Found ${urls.length} target URLs.`);
if (urls.length > limit) {
console.log(
`⚠️ Too many pages (${urls.length}). Limiting to ${limit} representative pages.`,
);
// Simplify selection: home pages + a slice of the rest
const homeEN = urls.filter((u) => u.endsWith('/en') || u === targetUrl);
const homeDE = urls.filter((u) => u.endsWith('/de'));
const others = urls.filter((u) => !homeEN.includes(u) && !homeDE.includes(u));
urls = [...homeEN, ...homeDE, ...others.slice(0, limit - (homeEN.length + homeDE.length))];
}
} catch (err: any) {
console.error(`❌ Failed to fetch sitemap: ${err.message}`);
process.exit(1);