29 lines
818 B
JavaScript
29 lines
818 B
JavaScript
const core = require('@actions/core');
|
|
const { writeFileSync, readFileSync } = require('fs');
|
|
try {
|
|
const file = core.getInput('file');
|
|
core.info(`file:${file}`)
|
|
if(!file){
|
|
throw {
|
|
message:"file should not be empty"
|
|
}
|
|
}
|
|
let content = readFileSync(file, { encoding: "utf-8" })
|
|
const envs = process.env
|
|
const show = core.getBooleanInput("show")
|
|
for (const key in envs) {
|
|
if(show){
|
|
core.info(`${key}=${envs[key]}`);
|
|
}
|
|
if (key.startsWith("APP_")) {
|
|
content = content.replaceAll(new RegExp(`\\$\\{\\s*${key}\\s*\\}`,"g"), envs[key]);
|
|
}
|
|
}
|
|
writeFileSync(file, content)
|
|
core.info(`replace envs in ${file}`);
|
|
if(show){
|
|
core.info(`=============\n${content}\n=============`)
|
|
}
|
|
} catch (error) {
|
|
core.setFailed(error.message);
|
|
} |