From 27433d1bd51d2a4c1c75fff719de7292a71b5cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Zieli=C5=84ski?= Date: Mon, 13 Oct 2025 22:08:44 +0200 Subject: [PATCH] release --- .gitea/scripts/replaceTokens.js | 38 +++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/.gitea/scripts/replaceTokens.js b/.gitea/scripts/replaceTokens.js index 5b337c6..2121886 100644 --- a/.gitea/scripts/replaceTokens.js +++ b/.gitea/scripts/replaceTokens.js @@ -25,14 +25,37 @@ function replaceInFile(file, mapToken) { } (async () => { - const secrets = JSON.parse(process.env.SECRETS || '{}'); - const variables = JSON.parse(process.env.VARIABLES || '{}'); + // DEFENSIVE: handle null/undefined gracefully + let secrets = {}; + let variables = {}; + + try { + secrets = JSON.parse(process.env.SECRETS || '{}'); + } catch (e) { + console.warn('āš ļø Failed to parse SECRETS:', e.message); + } + + try { + variables = JSON.parse(process.env.VARIABLES || '{}'); + } catch (e) { + console.warn('āš ļø Failed to parse VARIABLES:', e.message); + } + const RUN_ID = process.env.RUN_ID || process.env.GITHUB_RUN_ID || ''; + console.log(`šŸ“¦ Loaded ${Object.keys(secrets).length} secrets, ${Object.keys(variables).length} variables`); + const mapToken = (token) => { if (token === 'BUILDID') return RUN_ID; - // Try variables first, then secrets - return variables[token] ?? secrets[token]; + + // Check variables first, then secrets + if (variables && variables[token] != null) { + return variables[token]; + } + if (secrets && secrets[token] != null) { + return secrets[token]; + } + return null; }; const files = [ @@ -45,14 +68,14 @@ function replaceInFile(file, mapToken) { process.exit(1); } - console.log(` Tokenizing ${files.length} file(s):`); + console.log(`šŸ”Ž Tokenizing ${files.length} file(s):`); files.forEach(f => console.log(` - ${f}`)); const missing = new Set(); // First pass: replace tokens for (const file of files) { - console.log(`\n Processing: ${file}`); + console.log(`\nšŸ“ Processing: ${path.basename(file)}`); replaceInFile(file, mapToken); } @@ -69,7 +92,8 @@ function replaceInFile(file, mapToken) { if (missing.size > 0) { console.error(`\nāŒ Missing values for tokens: ${Array.from(missing).join(', ')}`); - console.error('\nMake sure these secrets/variables are configured in Gitea repo settings.'); + console.error('\nšŸ’” Make sure these secrets/variables are configured in Gitea repo settings:'); + console.error(' Settings → Secrets → Add secret'); process.exit(1); }