Created
January 7, 2016 21:52
Revisions
-
boennemann created this gist
Jan 7, 2016 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,33 @@ The current plugin system aims to make every step of semantic-release customizeable. There is a lot of overhead to this though. ## Idea: 1. Remove `verifyConditions`. 2. _Hardcode_ one check that implements every CI server out there. (Mappings for each service are trivial to add, much like in https://github.com/auchenberg/volkswagen) 3. Add an option to surpass this check. With this it would "just work™" on any CI server. If there is custom behavior required this can simply be run before the `semantic-release` command: e.g. `verify-unicorns && semantic-release pre && npm publish && semantic-release post`. This custom check could also set an env var read by semantic-release, so the internal CI check is surpassed. Offers same flexibility, less to no config. ## Idea: Remove `verifyRelease`. The verification can be performed with custom scripts outside of semantic-release: `semantic-release pre && verify-release && npm publish && semantic-release post` ## Idea: Implement a post step that works for GitHub, GitLab and BitBucket, and automatically performs the right thing based on auth exposed, and repository URL. If this needs to be customized: `semantic-release pre && npm publish && custom-release-notes` If this needs to be left out: `semantic-release pre && npm publish` ## Idea: Implement a commit analyzer that works for all commit message styles available in conventional-changelog: https://github.com/ajoslin/conventional-changelog/tree/master/conventions Defaults to Angular, chosing another style means passing one config flag. Passing a custom parser works like it's working right now. ## Metadata If semantic-release could make extracted metadata (commits, version details, etc.) available in the environment or in a temp file, then the custom scripts could simply pick it up again without the need to extract or parse them again.