-
Notifications
You must be signed in to change notification settings - Fork 16
Description
What would you say to enabling the ability to support builds on Scrutinizer? I tested this out with a Bitbucket fork of my silverstripe-migrations module (since Travis CI doesn't support Bitbucket) and realized it didn't take much actual effort to get it up and running there too.
The result of my efforts were ultimately to apply just a few minor fixes:
- On the module itself, setup a build script to migrate the environment variables from Scrutinizer's specific vars to Travis' specific vars (e.g. https://bitbucket.org/patricknelson/silverstripe-migrations/src/a76839b16be7c70f76c556f3ad839b79c81089dc/ci/scrutinizer_install.sh?at=scrutinizer&fileviewer=file-view-default)
- In this repository, compensate for the fact that in Scrutinizer, state is not maintained between
run()commands so I simply moved thecdstatement into the same line as thetarcommand, i.e. mainly here: patricknelson@77ca05f
Maybe we could clean this up a bit and setup a PR to merge into this repository? Also, this does suggest maybe abstracting this module even further (after this issue/feature is setup, possibly) to rename it to something like silverstripe-ci-support and then offer two main supported CI providers, travis-ci and scrutinizer-ci with documentation supporting both, but that could be another issue.
What do you think? I really like this approach because it allows me to setup CI builds on a provider which supports Bitbucket, unfortunately Travis does not. Also -- I found that this may also ease the transition to other CI interfaces like Gitlab as well! Pretty exciting stuff.