Skip to content

Modernize CI, package management, developer tools, testing accross multiple Python versions

Ernestas Simutis requested to merge ernim/TopFarm2:master into master
  • Updated docs for installation with newer python version

  • Testing now is done across multiple supported Python versions, i.e. >=3.9,<3.12

  • CI now utilized pixi for easy environment management and testing; This is also optional development dependency, which alleviates the struggles of getting up and running with the development, also blazing fast compared to alternatives like conda. Packages are pulled from pip and conda-forge so it's perfectly compatible with the old ways of doing things. There is inter-op layer between conda and pixi in a sense that we can export conda env file and build the same conda environment. I think we should, in the future, augment the CI to include this scenario in tests.

  • CI includes a test deploy job to upload the package to test registry before we merge a PR

  • CI jobs are configured to run only on TOPFARM group (so random people don't trigger the pipelines) and depending on a job they are run on MR, master branch or tag

  • Topfarm now adopt pyproject.yaml to define the specification and configuration of the package; moving away from legacy setup.py

  • There are some improvements on testing/coverage and dead code management

  • Added pre-commit so we can run formatting check before commits and don't push code which is not formatted. This happens automatically as long one has run pre-commit install once.

  • No login or any significant changes have been made to topfarm/ source code; Even though it looks a bit scary that so many files have been changed, as long as all the tests are passing we should be safe to go with it

  • Missing Windows test job in CI; Don't have access to Windows machine yet, but will be added here asap

Merge request reports

Loading