Figure out a better CI pipeline for various scenarios.
Scenarios
Pull request to develop
The most basic CI branch that should be a good trade-off between speed and coverage. It should check:
- linters,
- unit and integration tests,
- e2e tests against a private blockchain, provided it's fast and reliable.
Pull request to master
It should check:
- linters,
- unit and integration tests,
- e2e tests against a private blockchain and the most reliable public testnet.
A release candidate
It should check:
- linters,
- unit and integration tests,
- e2e tests against all supported public testnets.
Periodic job
We also should have a periodic job in Travis which will be constantly checking (e.g. every 1 hour) that our master branch is healthy. It should check: