The current plugin system aims to make every step of semantic-release customizeable. There is a lot of overhead to this though.
- 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)
- 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.