CircleCI seems like a good alternative to Travis CI and brings about some other features:
Artifacts to let us store our builds and we can potentially just extract the build artifacts from there without the need to run the build step ourselves during deployment
Workflows enable us to run various steps of the CI on parallel, which reduces overall duration (think Jest, ESLint and Flow checking running in parallel). In Travis now we're running them sequentially.
Potential to integrate BuildSize to catch build size regressions in PRs.
A current foreseeable downside is that CircleCI does not support build matrix, which the current Travis CI set up uses. We might or might not need it in future depending on:
Might not - When we completely move to v3, no need to run tests for v2 anymore
Might still - We might merge nusmods-api into a monorepo and we'll need build matrices again.
If we do migrate to CircleCI and need build matrices, there's Tox for that.
CircleCI seems like a good alternative to Travis CI and brings about some other features:
Also, we can request for Open Source Discount for more containers!
A current foreseeable downside is that CircleCI does not support build matrix, which the current Travis CI set up uses. We might or might not need it in future depending on:
nusmods-api
into a monorepo and we'll need build matrices again.If we do migrate to CircleCI and need build matrices, there's Tox for that.