mirror of
				https://github.com/ZetaKebab/kesper.git
				synced 2025-11-04 08:09:49 +00:00 
			
		
		
		
	Updated release script
no issue
This commit is contained in:
		@@ -1,6 +1,5 @@
 | 
			
		||||
{
 | 
			
		||||
    "github": {
 | 
			
		||||
        "username": "<username>",
 | 
			
		||||
        "token": "<gh-personal-access-token>"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										114
									
								
								gulpfile.js
									
									
									
									
									
								
							
							
						
						
									
										114
									
								
								gulpfile.js
									
									
									
									
									
								
							@@ -22,7 +22,6 @@ const easyimport = require('postcss-easy-import');
 | 
			
		||||
 | 
			
		||||
const REPO = 'TryGhost/Casper';
 | 
			
		||||
const REPO_READONLY = 'TryGhost/Casper';
 | 
			
		||||
const USER_AGENT = 'Casper';
 | 
			
		||||
const CHANGELOG_PATH = path.join(process.cwd(), '.', 'changelog.md');
 | 
			
		||||
 | 
			
		||||
function serve(done) {
 | 
			
		||||
@@ -94,25 +93,6 @@ const hbsWatcher = () => watch(['*.hbs', 'partials/**/*.hbs'], hbs);
 | 
			
		||||
const watcher = parallel(cssWatcher, hbsWatcher);
 | 
			
		||||
const build = series(css, js);
 | 
			
		||||
 | 
			
		||||
const previousRelease = () => {
 | 
			
		||||
    return releaseUtils
 | 
			
		||||
        .releases
 | 
			
		||||
        .get({
 | 
			
		||||
            userAgent: USER_AGENT,
 | 
			
		||||
            uri: `https://api.github.com/repos/${REPO_READONLY}/releases`
 | 
			
		||||
        })
 | 
			
		||||
        .then(response => {
 | 
			
		||||
            if (!response || !response.length) {
 | 
			
		||||
                console.log('No releases found. Skipping...');
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            let prevVersion = response[0].tag_name || response[0].name;
 | 
			
		||||
            console.log(`Previous version ${prevVersion}`);
 | 
			
		||||
            return prevVersion;
 | 
			
		||||
        });
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
exports.build = build;
 | 
			
		||||
exports.zip = series(build, zipper);
 | 
			
		||||
exports.default = series(build, serve, watcher);
 | 
			
		||||
@@ -137,52 +117,72 @@ exports.release = () => {
 | 
			
		||||
        config = null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!config || !config.github || !config.github.username || !config.github.token) {
 | 
			
		||||
    if (!config || !config.github || !config.github.token) {
 | 
			
		||||
        console.log('Please copy config.example.json and configure Github token.');
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    inquirer.prompt([{
 | 
			
		||||
    let compatibleWithGhost;
 | 
			
		||||
 | 
			
		||||
    return inquirer.prompt([{
 | 
			
		||||
        type: 'input',
 | 
			
		||||
        name: 'compatibleWithGhost',
 | 
			
		||||
        message: 'Which version of Ghost is it compatible with?',
 | 
			
		||||
        default: '3.0.0'
 | 
			
		||||
    }]).then(result => {
 | 
			
		||||
        let compatibleWithGhost = result.compatibleWithGhost;
 | 
			
		||||
    }])
 | 
			
		||||
    .then(result => {
 | 
			
		||||
        compatibleWithGhost = result.compatibleWithGhost;
 | 
			
		||||
        return Promise.resolve();
 | 
			
		||||
    })
 | 
			
		||||
    .then(() => releaseUtils.releases.get({
 | 
			
		||||
        userAgent: 'Casper',
 | 
			
		||||
        uri: `https://api.github.com/repos/${REPO_READONLY}/releases`
 | 
			
		||||
    }))
 | 
			
		||||
    .then((response) => {
 | 
			
		||||
        if (!response || !response.length) {
 | 
			
		||||
            console.log('No releases found. Skipping...');
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        previousRelease().then(previousVersion => {
 | 
			
		||||
            const changelog = new releaseUtils.Changelog({
 | 
			
		||||
                changelogPath: CHANGELOG_PATH,
 | 
			
		||||
                folder: path.join(process.cwd(), '.')
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            changelog
 | 
			
		||||
                .write({
 | 
			
		||||
                    githubRepoPath: `https://github.com/${REPO}`,
 | 
			
		||||
                    lastVersion: previousVersion
 | 
			
		||||
                })
 | 
			
		||||
                .sort()
 | 
			
		||||
                .clean();
 | 
			
		||||
 | 
			
		||||
            releaseUtils
 | 
			
		||||
                .releases
 | 
			
		||||
                .create({
 | 
			
		||||
                    draft: true,
 | 
			
		||||
                    preRelease: false,
 | 
			
		||||
                    tagName: newVersion,
 | 
			
		||||
                    releaseName: newVersion,
 | 
			
		||||
                    userAgent: USER_AGENT,
 | 
			
		||||
                    uri: `https://api.github.com/repos/${REPO}/releases`,
 | 
			
		||||
                    github: {
 | 
			
		||||
                        username: config.github.username,
 | 
			
		||||
                        token: config.github.token
 | 
			
		||||
                    },
 | 
			
		||||
                    content: [`**Compatible with Ghost ≥ ${compatibleWithGhost}**\n\n`],
 | 
			
		||||
                    changelogPath: CHANGELOG_PATH
 | 
			
		||||
                })
 | 
			
		||||
                .then(response => {
 | 
			
		||||
                    console.log(`\nRelease draft generated: ${response.releaseUrl}\n`);
 | 
			
		||||
                });
 | 
			
		||||
        let previousVersion = response[0].tag_name || response[0].name;
 | 
			
		||||
        console.log(`Previous version: ${previousVersion}`);
 | 
			
		||||
        return Promise.resolve(previousVersion);
 | 
			
		||||
    })
 | 
			
		||||
    .then((previousVersion) => {
 | 
			
		||||
        const changelog = new releaseUtils.Changelog({
 | 
			
		||||
            changelogPath: CHANGELOG_PATH,
 | 
			
		||||
            folder: path.join(process.cwd(), '.')
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        changelog
 | 
			
		||||
            .write({
 | 
			
		||||
                githubRepoPath: `https://github.com/${REPO}`,
 | 
			
		||||
                lastVersion: previousVersion
 | 
			
		||||
            })
 | 
			
		||||
            .sort()
 | 
			
		||||
            .clean();
 | 
			
		||||
 | 
			
		||||
        return Promise.resolve();
 | 
			
		||||
    })
 | 
			
		||||
    .then(() => releaseUtils.releases.create({
 | 
			
		||||
        draft: true,
 | 
			
		||||
        preRelease: false,
 | 
			
		||||
        tagName: newVersion,
 | 
			
		||||
        releaseName: newVersion + '+banana',
 | 
			
		||||
        userAgent: 'Casper',
 | 
			
		||||
        uri: `https://api.github.com/repos/${REPO}/releases`,
 | 
			
		||||
        github: {
 | 
			
		||||
            token: config.github.token
 | 
			
		||||
        },
 | 
			
		||||
        content: [`**Compatible with Ghost ≥ ${compatibleWithGhost}**\n\n`],
 | 
			
		||||
        changelogPath: CHANGELOG_PATH
 | 
			
		||||
    }))
 | 
			
		||||
    .then((response) => {
 | 
			
		||||
        console.log(`\nRelease draft generated: ${response.releaseUrl}\n`);
 | 
			
		||||
        return Promise.resolve();
 | 
			
		||||
    })
 | 
			
		||||
    .catch((err) => {
 | 
			
		||||
        console.error(err);
 | 
			
		||||
        process.exit(1);
 | 
			
		||||
    });
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user