Skip to content

Commit

Permalink
Merge pull request #1729 from microsoft/pradjoshi/azureml_doc
Browse files Browse the repository at this point in the history
Update AzureML test documentation
  • Loading branch information
pradnyeshjoshi authored Jun 3, 2022
2 parents ddabf28 + 4c8c077 commit 53c0188
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
8 changes: 4 additions & 4 deletions tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ This project uses unit, smoke and integration tests with Python files and notebo

For more information, see a [quick introduction to unit, smoke and integration tests](https://miguelgfierro.com/blog/2018/a-beginners-guide-to-python-testing/). To manually execute the unit tests in the different environments, first **make sure you are in the correct environment as described in the [SETUP.md](../SETUP.md)**.

AzureML is also used to run the existing unit, smoke and integration tests as-is. AzureML benefits include managing the compute environment by automatically turning it on/off, scaling, automatic logging of artifacts from test runs and more. Azure DevOps is used as a control plane to provide information to scripts to configure and run the tests as-is on AzureML. A separate set of pipelines was created to run the tests on AzureML and parameters to configure AzureML are defined in the pipeline yml files. There are two scripts used with each pipeline:

* submit_azureml_pytest.py - this script uses parameters in the pipeline yml to set up the AzureML environment for testing using the AzureML SDK .
* run_pytest.py - this script uses pytest to run tests on utilities or runs papermill to execute tests on notebooks. This script runs in an AzureML workspace with the environment created by the script above. The same tests and testmarkers are used as described below.
AzureML is also used to run the existing unit, smoke and integration tests as-is. AzureML benefits include managing the compute environment by automatically turning it on/off, scaling, automatic logging of artifacts from test runs and more. GitHub is used as a control plane to provide information to scripts to configure and run the tests as-is on AzureML. GitHub workflows `recommenders/.github/workflows/azureml-unit-tests.yml` and `recommenders/.github/workflows/azureml-nightly.yml` are used to run the tests on AzureML and parameters to configure AzureML are defined in the workflow yml files. Tests are divided into groups and each workflow triggers execution of these test groups in parallel, which significantly reduces end-to-end execution time. There are three scripts used with each workflow:

Note: Spark tests are not currently run on AzureML and may be set up in the future.
* `ci/azureml_tests/submit_groupwise_azureml_pytest.py` - this script uses parameters in the workflow yml to set up the AzureML environment for testing using the AzureML SDK .
* `ci/azureml_tests/run_groupwise_pytest.py` - this script uses pytest to run tests on utilities or runs papermill to execute tests on notebooks. This script runs in an AzureML workspace with the environment created by the script above.
* `ci/azureml_tests/test_groups.py` - this script defines groups of tests.

## Test execution

Expand Down
4 changes: 2 additions & 2 deletions tests/ci/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Testing strategy

## Naming convention of pipeline yaml files
## Naming convention of ADO pipeline yaml files

We use underscore connected strings in a pipeline yaml file name to indicate the environment, branch, framework, etc. of a testing pipeline. The naming convention follows the pattern as below

Expand All @@ -22,4 +22,4 @@ Testing pipelines that run on either a Linux or Windows DSVM agent machine.

* Azure Machine Learning service testing pipeline

Testing pipelines that run within an Azure Machine Learning service workspace.
GitHub workflows for testing pipelines that run within an Azure Machine Learning service workspace are located in `recommenders/.github/workflows/`.

0 comments on commit 53c0188

Please sign in to comment.