Add appinsights logging latest release #1547
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This code is autogenerated. | |
# Code is generated by running custom script: python3 readme.py | |
# Any manual changes to this file may cause incorrect behavior. | |
# Any manual changes will be overwritten if the code is regenerated. | |
name: sdk-jobs-automl-standalone-jobs-automl-forecasting-orange-juice-sales-automl-forecasting-orange-juice-sales-mlflow | |
# This file is created by sdk/python/readme.py. | |
# Please do not edit directly. | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "38 11/12 * * *" | |
pull_request: | |
branches: | |
- main | |
paths: | |
- sdk/python/jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales/** | |
- .github/workflows/sdk-jobs-automl-standalone-jobs-automl-forecasting-orange-juice-sales-automl-forecasting-orange-juice-sales-mlflow.yml | |
- sdk/python/dev-requirements.txt | |
- infra/bootstrapping/** | |
- sdk/python/setup.sh | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: check out repo | |
uses: actions/checkout@v2 | |
- name: setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- name: pip install notebook reqs | |
run: pip install -r sdk/python/dev-requirements.txt | |
- name: pip install mlflow reqs | |
run: pip install -r sdk/python/mlflow-requirements.txt | |
- name: pip install forecasting reqs | |
run: pip install -r sdk/python/forecasting-requirements.txt | |
- name: azure login | |
uses: azure/login@v1 | |
with: | |
creds: ${{secrets.AZUREML_CREDENTIALS}} | |
- name: bootstrap resources | |
run: | | |
echo '${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}'; | |
bash bootstrap.sh | |
working-directory: infra/bootstrapping | |
continue-on-error: false | |
- name: setup SDK | |
run: | | |
source "${{ github.workspace }}/infra/bootstrapping/sdk_helpers.sh"; | |
source "${{ github.workspace }}/infra/bootstrapping/init_environment.sh"; | |
bash setup.sh | |
working-directory: sdk/python | |
continue-on-error: true | |
- name: setup-cli | |
run: | | |
source "${{ github.workspace }}/infra/bootstrapping/sdk_helpers.sh"; | |
source "${{ github.workspace }}/infra/bootstrapping/init_environment.sh"; | |
bash setup.sh | |
working-directory: cli | |
continue-on-error: true | |
- name: run jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales/automl-forecasting-orange-juice-sales-mlflow.ipynb | |
run: | | |
source "${{ github.workspace }}/infra/bootstrapping/sdk_helpers.sh"; | |
source "${{ github.workspace }}/infra/bootstrapping/init_environment.sh"; | |
bash "${{ github.workspace }}/infra/bootstrapping/sdk_helpers.sh" generate_workspace_config "../../.azureml/config.json"; | |
bash "${{ github.workspace }}/infra/bootstrapping/sdk_helpers.sh" replace_template_values "automl-forecasting-orange-juice-sales-mlflow.ipynb"; | |
[ -f "../../.azureml/config" ] && cat "../../.azureml/config"; | |
papermill -k python -p compute_name automl-cpu-cluster automl-forecasting-orange-juice-sales-mlflow.ipynb automl-forecasting-orange-juice-sales-mlflow.output.ipynb > sample_log.txt 2>&1 | |
working-directory: sdk/python/jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales | |
- name: Determine Failure Reason | |
run: | | |
cat sample_log.txt | |
failure_reason="N/A" | |
if [ "${{ job.status }}" == "failure" ]; then | |
if grep -q "ResourceNotReady" sample_log.txt; then | |
failure_reason = "ResourceNotReady" | |
elif grep -q "quota" sample_log.txt; then | |
failure_reason="QuotaIssue" | |
elif grep -q "ParentResourceNotFound" sample_log.txt; then | |
failure_reason="ParentResourceNotFound" | |
elif grep -q "already exists" sample_log.txt; then | |
failure_reason="ResourceAlreadyExists" | |
elif grep -q "StorageAccountTypeConversionNotAllowed" sample_log.txt; then | |
failure_reason="InvalidStorageAccount" | |
else | |
failure_reason="UncategorizedFailure" | |
fi | |
fi | |
echo "FAILURE_REASON=$failure_reason" >> $GITHUB_ENV | |
working-directory: sdk/python/jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales | |
if: ${{ always() }} | |
continue-on-error: true | |
- name: Log Job Results to Application Insights | |
uses: syedhassaanahmed/app-insights-event-action@main | |
with: | |
instrumentation-key: "${{secrets.APP_INSIGHTS_INSTRUMENTATION_KEY}}" | |
event-name: "${{ job.status }}_${{ env.FAILURE_REASON }}_${{ github.ref_name }}" | |
if: ${{ always() }} | |
- name: check notebook output | |
run: | | |
python ${{ github.workspace }}/.github/test/scripts/check_notebook_output.py \ | |
--file_name automl-forecasting-orange-juice-sales-mlflow.output.ipynb \ | |
--folder . \ | |
--check warning \ | |
working-directory: sdk/python/jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales | |
- name: check v2 experiment result | |
run: | | |
python ${{ github.workspace }}/.github/test/scripts/check_v2_experiment_result.py \ | |
--file_name automl-forecasting-orange-juice-sales-mlflow.output.ipynb \ | |
--folder . \ | |
--experiment_name dpv2-forecasting-experiment \ | |
--minimum_median_score 0.01 \ | |
--maximum_median_score 0.3 \ | |
--metric_name normalized_root_mean_squared_error \ | |
--absolute_minimum_score 0.0 \ | |
--absolute_maximum_score 1.0 \ | |
working-directory: sdk/python/jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales | |
- name: upload notebook's working folder as an artifact | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: automl-forecasting-orange-juice-sales-mlflow | |
path: sdk/python/jobs/automl-standalone-jobs/automl-forecasting-orange-juice-sales | |
- name: Remove the compute if notebook did not done it properly. | |
run: bash "${{ github.workspace }}/infra/bootstrapping/remove_computes.sh" oj-cluster |