mirror of https://github.com/louislam/uptime-kuma
				
				
				
			
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
const childProcess = require("child_process");
 | 
						|
const fs = require("fs");
 | 
						|
 | 
						|
const newVersion = process.env.VERSION;
 | 
						|
 | 
						|
if (!newVersion) {
 | 
						|
    console.log("Missing version");
 | 
						|
    process.exit(1);
 | 
						|
}
 | 
						|
 | 
						|
updateWiki(newVersion);
 | 
						|
 | 
						|
/**
 | 
						|
 * Update the wiki with new version number
 | 
						|
 * @param {string} newVersion Version to update to
 | 
						|
 */
 | 
						|
function updateWiki(newVersion) {
 | 
						|
    const wikiDir = "./tmp/wiki";
 | 
						|
    const howToUpdateFilename = "./tmp/wiki/🆙-How-to-Update.md";
 | 
						|
 | 
						|
    safeDelete(wikiDir);
 | 
						|
 | 
						|
    childProcess.spawnSync("git", [ "clone", "https://github.com/louislam/uptime-kuma.wiki.git", wikiDir ]);
 | 
						|
    let content = fs.readFileSync(howToUpdateFilename).toString();
 | 
						|
 | 
						|
    // Replace the version: https://regex101.com/r/hmj2Bc/1
 | 
						|
    content = content.replace(/(git checkout )([^\s]+)/, `$1${newVersion}`);
 | 
						|
    fs.writeFileSync(howToUpdateFilename, content);
 | 
						|
 | 
						|
    childProcess.spawnSync("git", [ "add", "-A" ], {
 | 
						|
        cwd: wikiDir,
 | 
						|
    });
 | 
						|
 | 
						|
    childProcess.spawnSync("git", [ "commit", "-m", `Update to ${newVersion}` ], {
 | 
						|
        cwd: wikiDir,
 | 
						|
    });
 | 
						|
 | 
						|
    console.log("Pushing to Github");
 | 
						|
    childProcess.spawnSync("git", [ "push" ], {
 | 
						|
        cwd: wikiDir,
 | 
						|
    });
 | 
						|
 | 
						|
    safeDelete(wikiDir);
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Check if a directory exists and then delete it
 | 
						|
 * @param {string} dir Directory to delete
 | 
						|
 */
 | 
						|
function safeDelete(dir) {
 | 
						|
    if (fs.existsSync(dir)) {
 | 
						|
        fs.rm(dir, {
 | 
						|
            recursive: true,
 | 
						|
        });
 | 
						|
    }
 | 
						|
}
 |