Skip to content

Lab content gaps and errors in the GitHub Actions and Deploy/Monitor labs — AI-300 (May 2026) #58

@lostspace003

Description

@lostspace003

Filed after running these labs in the AI-300 instructor-led delivery via Skillable LOD, 25–28 May 2026. Each affected lab consumed approximately 4 hours of debugging before it could be progressed past the broken step. Issues, applied workarounds, and suggested fixes are below.


1. Container Service & Policy Insights providers are not pre-registered

Lab affected: Deploy and monitor a model in Azure Machine Learning

Symptom

Deploying the model to a managed online endpoint failed with SubscriptionNotRegistered errors. The Microsoft.ContainerService and Microsoft.PolicyInsights resource providers were not pre-registered in the lab subscription, and an additional policy error blocked the Container Service deployment.

Workaround applied

Manually registered both providers in Azure CLI before re-triggering the /deploy-prod workflow:

az provider register --namespace Microsoft.PolicyInsights
az provider register --namespace Microsoft.ContainerService

Suggested fix

Either pre-register both providers in the Skillable lab subscription, or add these az provider register commands explicitly to the lab instructions.


2. Starter workflow YAML files are incomplete

Labs affected: Automate model training with GitHub Actions and Deploy and monitor a model in Azure Machine Learning

Symptom

The starter GitHub Actions workflow files (manual-trigger-job.yml, train-prod.yml, deploy-prod.yml) shipped with the labs are missing required keys / run steps and did not execute end-to-end as written:

  • The prod workflows (train-prod.yml, deploy-prod.yml) are missing the pull-requests: write permission, so they cannot post their result comments back to the PR.
  • The example deploy_to_online_endpoint.py does not append a unique suffix to the endpoint name, so deploy fails with:
    There already exists an endpoint with this name.
    
  • Indentation / a missing run: block made manual-trigger-job.yml invalid as published.

Workaround applied

  • Added a permissions: block to both prod workflows:
    permissions:
      contents: read
      id-token: write
      pull-requests: write
  • Patched deploy_to_online_endpoint.py to append a datetime suffix to the endpoint name (e.g. endpoint-{yyyymmddhhmm}).
  • Re-indented and added the missing run: block to manual-trigger-job.yml.

Suggested fix

Publish complete, working YAML files and deploy_to_online_endpoint.py in the lab repository, and validate them against a clean lab subscription before each course delivery.


3. Cloning, Git identity, and PR-comment trigger info is missing

Labs affected: Automate model training with GitHub Actions, Deploy and monitor a model in Azure Machine Learning

Symptom

From these labs onward the instructions assume Git fluency that the audience may not have:

  • No instruction to configure git config --global user.name / user.email before the first commit. Git aborts with Author identity unknown.
  • No mention that the branch-protection rule added in Automate model training with GitHub Actions blocks all subsequent direct pushes to main; the learner must work on a feature branch and open a PR for every later step.
  • No explicit mapping of which PR comment phrase triggers which workflow (/train-prodtrain-prod.yml, /deploy-proddeploy-prod.yml).

Suggested fix

Add a short Git workflow primer at the start of Automate model training with GitHub Actions covering: configuring identity, working on a feature branch, opening a PR, the comment-trigger phrases used by later labs, and the implications of branch protection.


Environment

Course AI-300 — Implementing Machine Learning Operations (MLOps & GenAIOps)
Delivered via Skillable LOD (https://esi.learnondemand.net)
Delivery dates 25 May – 28 May 2026
OS / shell Windows 11 / PowerShell, Azure Cloud Shell (Bash)
Repository MicrosoftLearning/mslearn-mlops

Happy to share full terminal transcripts, the patched YAML / Python files, and screenshots of the original errors on request.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions