-
Notifications
You must be signed in to change notification settings - Fork 132
Installation Tests
The main goal of the installation tests is to make sure arcticdb released versions can be always installed and used by users from official reprositories - PyPi and Conda on all operating systems and all supported python versions.
To achieve that the tests have their own dedicated folder 'instalation_tests' and does not reuse anything from arcticdb projects. The tests define own set of fixtures and are written in such a way that the may have conditions for different versions of arcticdb as well as some tests might not be supported for older versions.
Note, that all tests written for installation tests must not use anything from python/tests folder except for marks.py. This is needed so that we avoid complex compilation problems and keep installation tests as close to users as possible without any additional abstractions
The execution of tests can be done manually using this workflow: https://github.com/man-group/ArcticDB/actions/workflows/installation_tests.yml
There you can select:
- arcticdb version (default latest)
- Python version
- OS type
- if it runs on lmdb - default yes
- if should run on S3 also - default no
The execution workflow will install from PyPi or Conda necessary packages as per user selection and will do the execution.
The tests also run on scheduled basis over night iterrating each hour on one arcticdb version starting from oldest to newest
The installation workflow requires small changes in order to add support for new releases. To do:
If minor or major version is added, then following steps should be done for the previous version:
- open https://github.com/man-group/ArcticDB/blob/master/.github/workflows/installation_tests.yml workflow
- add new hour for new version to schedule
- add new version as option to: workflow_dispatch-inputs-arcticdb_version
- connect the new scheduled hour with the setup at step When On Schedule - Override the arcticdb version based on hour of execution
- Create requirements-XXX.txt and .yml file for PyPi and Conda for the version and place them here: https://github.com/man-group/ArcticDB/tree/master/python/tests/compat
- Create PR and test that new option work with manually triggering the workflow. Add manually triggered logs to PR. See example PR: https://github.com/man-group/ArcticDB/pull/2362
In event a new Python version is added to be supported:
- open https://github.com/man-group/ArcticDB/blob/master/.github/workflows/installation_tests.yml workflow
- add new option in the matrix strategy for the new python version at include section
- Make sure to add to unsuported combinations array at UNSUPPORTED_COMBINATIONS variable
- Create PR and test that new workflow manually. Add manually triggered logs to PR. See example PR: https://github.com/man-group/ArcticDB/pull/2362
ArcticDB Wiki