cli-assets-component-pipeline #500
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: cli-assets-component-pipeline | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: "4 6/12 * * *" | |
pull_request: | |
branches: | |
- main | |
paths: | |
- cli/assets/component/pipeline.yml | |
- infra/bootstrapping/** | |
- .github/workflows/cli-assets-component-pipeline.yml | |
- cli/setup.sh | |
permissions: | |
id-token: write | |
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: azure login | |
uses: azure/login@v1 | |
with: | |
client-id: ${{ secrets.OIDC_AZURE_CLIENT_ID }} | |
tenant-id: ${{ secrets.OIDC_AZURE_TENANT_ID }} | |
subscription-id: ${{ secrets.OIDC_AZURE_SUBSCRIPTION_ID }} | |
- name: bootstrap resources | |
run: | | |
bash bootstrap.sh | |
working-directory: infra/bootstrapping | |
continue-on-error: false | |
- 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: Eagerly cache access tokens for required scopes | |
run: | | |
# Workaround for azure-cli's lack of support for ID token refresh | |
# Taken from: https://github.com/Azure/login/issues/372#issuecomment-2056289617 | |
# Management | |
az account get-access-token --scope https://management.azure.com/.default --output none | |
# ML | |
az account get-access-token --scope https://ml.azure.com/.default --output none | |
- name: validate readme | |
run: | | |
python check-readme.py "${{ github.workspace }}/cli/assets/component" | |
working-directory: infra/bootstrapping | |
continue-on-error: false | |
- name: create asset | |
run: | | |
source "${{ github.workspace }}/infra/bootstrapping/sdk_helpers.sh"; | |
source "${{ github.workspace }}/infra/bootstrapping/init_environment.sh"; | |
log_output=$(az ml component create -f assets/component/pipeline.yml 2>&1) | |
echo "$log_output" > create-asset.log | |
cat create-asset.log | |
working-directory: cli | |
- name: Determine Failure Reason | |
run: | | |
failure_reason="N/A" | |
if [ "${{ job.status }}" == "failure" ]; then | |
if grep -q "ResourceNotReady" create-asset.log; then | |
failure_reason = "ResourceNotReady" | |
elif grep -q "quota" create-asset.log; then | |
failure_reason="QuotaIssue" | |
elif grep -q "ParentResourceNotFound" create-asset.log; then | |
failure_reason="ParentResourceNotFound" | |
else | |
failure_reason="UncategorizedFailure" | |
fi | |
fi | |
echo "FAILURE_REASON=$failure_reason" >> $GITHUB_ENV | |
working-directory: cli |