mirror of
https://github.com/cycjimmy/semantic-release-action.git
synced 2026-04-07 07:59:24 +00:00
feat: come a new action
This commit is contained in:
parent
d9823e84f7
commit
b9ad41da60
17 changed files with 5822 additions and 2 deletions
2
src/_exec.js
Normal file
2
src/_exec.js
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
const util = require('util');
|
||||
module.exports = util.promisify(require('child_process').exec);
|
||||
49
src/index.js
Normal file
49
src/index.js
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
const exec = require('./_exec');
|
||||
const path = require('path');
|
||||
const {WritableStreamBuffer} = require('stream-buffers');
|
||||
|
||||
const core = require('@actions/core');
|
||||
const semanticRelease = require('semantic-release');
|
||||
|
||||
const release = async () => {
|
||||
const branch = core.getInput('branch', {required: false}) || 'master';
|
||||
const extraPlugins = core.getInput('extra_plugins', {required: false}) || '';
|
||||
|
||||
// pre-install plugins
|
||||
if (extraPlugins) {
|
||||
const _extraPlugins = extraPlugins
|
||||
.replace(/['"]/g, '')
|
||||
.replace(/[\n\r]/g, ' ');
|
||||
const {stdout, stderr} = await exec(`npm install ${_extraPlugins}`, {
|
||||
cwd: path.resolve(__dirname)
|
||||
});
|
||||
console.log(stdout);
|
||||
if (stderr) {
|
||||
return Promise.reject(stderr);
|
||||
}
|
||||
}
|
||||
|
||||
const result = await semanticRelease({branch});
|
||||
|
||||
if (!result) {
|
||||
core.debug('No release published.');
|
||||
return;
|
||||
}
|
||||
|
||||
const {lastRelease, commits, nextRelease, releases} = result;
|
||||
|
||||
core.debug(`Published ${nextRelease.type} release version ${nextRelease.version} containing ${commits.length} commits.`);
|
||||
|
||||
if (lastRelease.version) {
|
||||
core.debug(`The last release was "${lastRelease.version}".`);
|
||||
}
|
||||
|
||||
for (const release of releases) {
|
||||
core.debug(`The release was published with plugin "${release.pluginName}".`);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
module.exports = () => {
|
||||
release().catch(core.setFailed);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue