tutorials
tutorials copied to clipboard
dynamically adjust testing timeout
🚀 Feature
Dynamically extend the time limit for running CI on PR touching more content
Motivation
do not penalise PR which are touching multiple notebooks
Additional context
Run one tiny job which would determine how many notebooks are changed, and pass this count N to the test job and for example set timeout for testing as N*30min
could be useful for Azure: https://gaunacode.com/passing-variables-between-jobs-for-azure-devops-pipelines
another an even better way would be building notebooks in parallel similar to https://github.com/PyTorchLightning/metrics/pull/764 and https://github.com/PyTorchLightning/ecosystem-ci/pull/18
For publishing, it is rather simple, as the git merge goes in CPU job, and each consecutive notebook will be its own job with... For testing it is rather tricky as the testing shall be required check so not sure yet how to include all dynamic jos... :rabbit:
yep, so the initial job will generate a list of needed builds and handle eventual removals, and then all particular jobs could even have larger customization such as OS or Python versions... :otter:
Multi-job configuration
- https://learn.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops#multi-job-configuration