You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This RFC suggests switching the default CI provider for OpenFisca codebases from CircleCI to GitHub Actions, enabling a 5x performance gain.
Context
Currently, OpenFisca tests in continuous integration run with CircleCI’s free plan. This is the case for OpenFisca Core, but also for the Country Template, and for most known country packages (since they derive from the Country Template).
With the main aim to decrease the duration of France's longer test runs (between 10 and 12 minutes per build), an investigation was led to identify ways to speed up test that could benefit the entire community in #1027.
Writing a new CI setup for both Core and the Country Template. This has already been covered a lot in Improve tests performance #1027’s exploration, and has been volunteered by @openfisca/france-contrib-dinsic (in particular @HAEKADI).
Setting up the new CI pipeline. This has already been covered a lot in Improve tests performance #1027’s exploration, and has been volunteered by @openfisca/international-maintainers (in particular @sandcha).
Expected losses
Detailed logs from test runs won't be retained after 90 days.
Workarounds
Rely on worflow-level metadata (which is kept indefinitely) for performance decisions made on test runs, and learn to copy-paste in the issue body the subset of the logs when we make a decision based on them.
RFC
This RFC suggests switching the default CI provider for OpenFisca codebases from CircleCI to GitHub Actions, enabling a 5x performance gain.
Context
Currently, OpenFisca tests in continuous integration run with CircleCI’s free plan. This is the case for OpenFisca Core, but also for the Country Template, and for most known country packages (since they derive from the Country Template).
With the main aim to decrease the duration of France's longer test runs (between 10 and 12 minutes per build), an investigation was led to identify ways to speed up test that could benefit the entire community in #1027.
Some minor ways for improvement were identified and implemented (openfisca/openfisca-france#1649, openfisca/openfisca-france#1650) and relevant ones are or soon will be shared back in the Country Template (openfisca/country-template#113).
However, by far the most effective way to speed up the tests that was identified is to parallelise them.
There is some exploratory work to do this for local tests in #1025. In CI, however, parallelisation has been effective for 4 years (since #516).
Current situation
With CircleCI's free plan for open-source, we can run builds with up to 4x parallelism.
Expected situation
With GitHub Action's free plan for opens-source, we would run builds with up to 20x parallelism.
Expected gains
Expected costs
Expected losses
Workarounds
More information
Decision-making process