Skip to content

Instantly share code, notes, and snippets.

@gemmadlou
Created December 30, 2019 07:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gemmadlou/892d325eb5611708998275b347e5c67d to your computer and use it in GitHub Desktop.
Save gemmadlou/892d325eb5611708998275b347e5c67d to your computer and use it in GitHub Desktop.
Publishes new release
/**
* Publishes new release
*
* @param {object} [inject]
* @param {GetLastCommit} [inject.getLastCommit]
* @param {GetPackage} [inject.getPackage]
* @param {UpdatePackage} [inject.updatePackage]
* @param {CommitNewVersion} [inject.commitNewVersion]
* @param {TagNewVersion} [inject.tagNewVersion]
* @param {PushCommit} [inject.pushCommit]
* @param {PackageArtefact} [inject.packageArtefact]
* @param {SaveArtefact} [inject.saveArtefact]
* @returns {(input: WorkflowDTO) => Promise<WorkflowDTO>}
*/
module.exports.publish = (inject = {}) => ( /** @type {WorkflowDTO} */ input) =>
asyncPipe(
init,
inject.getLastCommit || getLastCommit,
inject.getPackage || getPackage,
createNewVersion,
inject.updatePackage || updatePackage,
inject.commitNewVersion || commitNewVersion,
inject.tagNewVersion || tagNewVersion,
inject.pushCommit || pushCommit,
inject.packageArtefact || packageArtefact,
inject.saveArtefact || saveArtefact
)({
...input
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment