This commit is contained in:
@@ -25,14 +25,37 @@ function replaceInFile(file, mapToken) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const secrets = JSON.parse(process.env.SECRETS || '{}');
|
// DEFENSIVE: handle null/undefined gracefully
|
||||||
const variables = JSON.parse(process.env.VARIABLES || '{}');
|
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 || '';
|
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) => {
|
const mapToken = (token) => {
|
||||||
if (token === 'BUILDID') return RUN_ID;
|
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 = [
|
const files = [
|
||||||
@@ -45,14 +68,14 @@ function replaceInFile(file, mapToken) {
|
|||||||
process.exit(1);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(` Tokenizing ${files.length} file(s):`);
|
console.log(`🔎 Tokenizing ${files.length} file(s):`);
|
||||||
files.forEach(f => console.log(` - ${f}`));
|
files.forEach(f => console.log(` - ${f}`));
|
||||||
|
|
||||||
const missing = new Set();
|
const missing = new Set();
|
||||||
|
|
||||||
// First pass: replace tokens
|
// First pass: replace tokens
|
||||||
for (const file of files) {
|
for (const file of files) {
|
||||||
console.log(`\n Processing: ${file}`);
|
console.log(`\n📝 Processing: ${path.basename(file)}`);
|
||||||
replaceInFile(file, mapToken);
|
replaceInFile(file, mapToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +92,8 @@ function replaceInFile(file, mapToken) {
|
|||||||
|
|
||||||
if (missing.size > 0) {
|
if (missing.size > 0) {
|
||||||
console.error(`\n❌ Missing values for tokens: ${Array.from(missing).join(', ')}`);
|
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);
|
process.exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user