diff --git a/.azure/azure-ci-build-pipeline.yaml b/.azure/azure-ci-build-pipeline.yaml index 47daa10f..1176f52f 100644 --- a/.azure/azure-ci-build-pipeline.yaml +++ b/.azure/azure-ci-build-pipeline.yaml @@ -107,30 +107,33 @@ stages: coverage html -d htmlcov -i displayName: 'Run tests and code coverage' - # Run the notebooks to make sure that they work + # Run the notebooks - script: | - # Detect OS - if [ "$(uname)" = "Linux" ] || [ "$(uname)" = "Darwin" ]; then - # Commands for Linux and macOS - pytest --nbmake -n=auto src/primaite/notebooks --junit-xml=./notebook-tests/notebooks.xml - notebooks_exit_code=$? - pytest --nbmake -n=auto src/primaite/simulator/_package_data --junit-xml=./notebook-tests/package-notebooks.xml - package_notebooks_exit_code=$? - # Fail step if either of these do not have exit code 0 - if [ $notebooks_exit_code -ne 0 ] || [ $package_notebooks_exit_code -ne 0 ]; then - exit 1 - fi - else - # Commands for Windows - pytest --nbmake -n=auto src/primaite/notebooks --junit-xml=./notebook-tests/notebooks.xml - set notebooks_exit_code=%ERRORLEVEL% - pytest --nbmake -n=auto src/primaite/simulator/_package_data --junit-xml=./notebook-tests/package-notebooks.xml - set package_notebooks_exit_code=%ERRORLEVEL% - # Fail step if either of these do not have exit code 0 - if %notebooks_exit_code% NEQ 0 exit /b 1 - if %package_notebooks_exit_code% NEQ 0 exit /b 1 - fi - displayName: 'Run notebooks' + pytest --nbmake -n=auto src/primaite/notebooks --junit-xml=./notebook-tests/notebooks.xml + notebooks_exit_code=$? + pytest --nbmake -n=auto src/primaite/simulator/_package_data --junit-xml=./notebook-tests/package-notebooks.xml + package_notebooks_exit_code=$? + # Fail step if either of these do not have exit code 0 + if [ $notebooks_exit_code -ne 0 ] || [ $package_notebooks_exit_code -ne 0 ]; then + exit 1 + fi + displayName: 'Run notebooks on Linux and macOS' + condition: or(eq(variables['Agent.OS'], 'Linux'), eq(variables['Agent.OS'], 'Darwin')) + shell: bash + + # Run notebooks + - script: | + pytest --nbmake -n=auto src/primaite/notebooks --junit-xml=./notebook-tests/notebooks.xml + $notebooks_exit_code = $LASTEXITCODE + pytest --nbmake -n=auto src/primaite/simulator/_package_data --junit-xml=./notebook-tests/package-notebooks.xml + $package_notebooks_exit_code = $LASTEXITCODE + # Fail step if either of these do not have exit code 0 + if ($notebooks_exit_code -ne 0 -or $package_notebooks_exit_code -ne 0) { + exit 1 + } + displayName: 'Run notebooks on Windows' + condition: eq(variables['Agent.OS'], 'Windows_NT') + shell: pwsh - task: PublishTestResults@2 condition: succeededOrFailed()