All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.0.0 - 2024-10-14
- Add test checking function cancelation when linked compute plans are all canceled. (#383)
- Drop Python 3.9 support. (#382)
0.52.0 - 2024-09-12
- Python 3.12 support. (#363)
- Bump pytorch version to 2.2.1 in tests. (#369)
- Dependency
pytest-lazy-fixture
(#1509)
0.51.0 - 2024-06-03
- Changed number of steps in
execution_rundown
(#1517)
0.50.0 - 2024-03-27
No significant changes.
- Compute task status
DOING
is renamedEXECUTING
(#371) - Drop Python 3.8 support
- Nightly is now done on
owkin/substra-ci
repository (#304) - Parallelism in SDK tests in deactivated until we fix the parallel compute plans issues (#306)
- A bunch of SDK tests are skipped due to regressions following the decoupled builder merge (#306)
- BREAKING: replace
todo_count
andwaiting_count
by the new counts following the new statuses in the backend (#319) - Reactivated tests and parallelism in SDK tests (#315, #317)
wait_for_asset_synchronized
is now ignoring thestatus
field, that can change over time (#322)
- Test case for function build on another backend than the task owner (#318)
- Support on Python 3.11 (#283)
- Remove minimal and workflow substra-tools images. Only one substra-tools image is used (#284)
- Update to pydantic 2.3.0 (#272)
- Minor dependency updates. See commit history for more details.
- Remove
model
andmodels
for input and output identifiers in tests. Replace byshared
instead. (#261) - Moved
wait_task
andwait_compute_task
fromsubstratest.client.Client
tosubstra.Client
(#263)
- Define test client (
substratest.client.Client
) as child class ofsubstra.Client
(#205) (#257)
- Update tests using new substra sdk
list
andget
functions (#256)
- Test of a test task returning several performances (#251)
- BREAKING: rename Algo to Function (#243)
- Replace
task.outputs[identifier].value
byclient.get_task_output_asset(task.key, identifier).asset
(#256)
- Remote test to verify that, with the right permission, we can test on an org from the training model of an other organization (#237)
- chore: rename tuple to task (#239)
- Update test after test only for datasample removal (#235)
- feat: add python 3.10 support (#232)
- Contributing, contributors & code of conduct files (#236)
- Test case for
__
invalid in metadata key
- Update code owners (#229)
- Update substratools Docker image (#230)
- Use the generic task (#221)
- Apply changes from algo to function in substratools (#224)
- Register functions in substratools using decorator
@tools.register
(#225)
- category field from algo as it's not required anymore
- Update the Client, it takes a backend type instead of debug=True + env variable to set the spawner - (#210)
- Remove test compute plan remove intermediary model
- Algo inputs and task code consistency within test
- fix(tests): safe getter for optional inputs
- chore: Change the Dockerfile
ENTRYPOINT
definition of algorithm relying onsubstratools
to pass the method to execute under the--method-name
argument - tests: Download tests optimized using the new substra feature: download function return the path to the downloaded file.
- Local folder tests
- chore: Change the assets and tools algo to feed with inputs outputs dictionary.
- A test for task profiling reports
- Fix the test_base_substra_tools_image test.
- Added a test for transient outputs
- Fix the tests so that the task execution uses inputs/outputs
- Added tests for update name methods
- Drop Python 3.7 support
- Add expiration date to skipped tests
- BREAKING: Add "inputs" field to compute task specs
- BREAKING: Add "outputs" field to compute task specs
- BREAKING: convert (test task) to (predict task + test task)
- Stop using metrics APIs, use algo APIs instead
- Following the change in substra, rename
Client.update_compute_plan
inClient.add_compute_plan_tuples
- feat: use new filters implementation for list functions
- remove
test-ci
command, the ci run only the remote tests
- workflow: configurable number of datasamples to use for Mnist
- feat: rename node to organization
- wait for tuple error type
- feat: add slack bot for sdk local tests (publish on #component_substra_sdk with the Substra-CI app)
- feat: in subprocess mode, errors are now caught as
ExecutionError
- Test if the GPU is seen from the algo
- BREAKING CHANGE: add mandatory name field to compute plan
- BREAKING CHANGE: feat!: update tests to give a key to ComputePlanSpec
- Add a test on GPU support, skipped by default
- test: get_performances from a compute plan key
- test: test the base docker image with kaniko #245
- chore: refactor config
- fix: add missing type hint import
- feat: fully covering debug mode test
- fix: set remote tag to latest
- fix: permissions head model test
- ci: option to chose orchestrator mode
- ci: metric endpoint now returns 404 instead of 400 for non-uuid keys in retrieve calls
- ci: algo endpoint now returns 404 instead of 400 for non-uuid keys in retrieve calls
- ci: datamanager endpoint now returns 404 instead of 400 for non-uuid keys in retrieve calls
- ci: tuple endpoints now returns 404 instead of 400 for non-uuid keys in retrieve calls
- ci: compute plan endpoint now returns 404 instead of 400 for non-uuid keys in retrieve calls
- feat: use latest substra-tools image by default
- feat: add support for substra GitHub Bot
- ci: workflow dispatch - be able to deactivate the sdk tests
- chore(ci): enable/disable frontend/substrafl tests when triggering the workflow manually
- ci: the main branches of the substra and substra-tools repositories are now main
- The base Docker image is substra-tools 0.10.0, with Python 3.9
- implement the substrafl e2e tests
- ci: export events logs
- add logs permission to dataset
- ci: Be able to run only the substrafl tests (#165 #173 #179)
- increase coverage of algo.list view
- ci: the main branches of the substra and substra-tools repositories are now main
- ci: fix links in slack messages
- add frontend testing, improve slack reporting
- test error type in tuple api responses
- algo writes in the home directory
- format code with Black and isort
- update acceptable concommit subject pattern
- more compact Slack reports + add e2e tests duration
- GHA workflow slack reporting condition
- handle absent test duration in slack reporting
- test on algo download
- update tests for compatibility with backend
- improve tests coverage on task compatibility
- test returned task counts with cp
- add default values for user inputs
- test start end date integration
- use kaniko prepolutaed images
- add echo step of workflow inputs
- make repo branches configurable for e2e tests in github action
- enforce conventional PR titles
- multiple metrics per testtask
- rename tests.test_debug module
- improve code for local images
- update skaffold version
- update the webhook to target a new channel
- Retry a bit when images fail building
- handle canceled and failed cp in client.wait method
- task registration on a disabled model should fail
- remove the random id generator that fails everyday
- remove a pipe to avoid a broken pipe error
- missing inputs field
- fix workflow indentation
- add helm couchdb repo
- do not fail if output adds extra lines
- update metric and testtuple add for the mnist workflow
- access the local folder path properly instead of using a hardcoded path
- Option to
run-ci.py
to create a cluster with multiple kubernetes nodes - Options
--no-cleanup
and--use-cluster
torun-ci.py
cleanup.py
in addition torun-ci.py
- Orchestrator
- Run nightly tests in standalone and distributed mode
- Twuni helm repo
- Unify all algos into one
- Testtuple after aggregate tuple