This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user