Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 38 additions & 37 deletions .azure/pipelines/ci-public.yml
Original file line number Diff line number Diff line change
Expand Up @@ -615,43 +615,44 @@ stages:
publishOnError: true
includeForks: true

# Local development validation
- template: jobs/default-build.yml
parameters:
jobName: Local_Windows
jobDisplayName: 'Test: Windows local development validation'
agentOs: Windows
isAzDOTestingJob: true
timeoutInMinutes: 240
steps:
- script: git submodule update --init
displayName: Update submodules
- script: ./restore.cmd
displayName: Run restore.cmd
- powershell: ./eng/build.ps1 -all -noBuildJava -noBuildNodeJS "-WarnAsError:false"
displayName: Build (No NodeJS)
- script: npm run build
displayName: Build JS
- script: ./eng/build.cmd -all -noBuildJava -pack -c Debug
displayName: Build (Debug)
- script: ./eng/build.cmd -all -noBuildJava -pack -c Release
displayName: Build (Release)
- script: ./src/ProjectTemplates/build.cmd
-test
-NoRestore
-NoBuild
-NoBuildDeps
-configuration Release
-bl
displayName: Run project template tests
- powershell: . ./activate.ps1; ./src/ProjectTemplates/scripts/Run-BlazorWeb-Locally.ps1 -Verbose
displayName: Run Blazor web app test script

artifacts:
- name: Local_Windows_x64_Logs_Attempt_$(System.JobAttempt)
path: artifacts/log/
publishOnError: true
includeForks: true
# Local development validation (skip on PRs)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the motivation for this? This job was added to ensure changes in PRs don't break local dev scenarios

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought this had been talked about but can't find a chat history now. Maybe it was over a call.

How many times has this actually failed because someone broke local dev? It seems like it's just an extra step that slows down PR builds with very little benefit.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@javiercn and @ilonatommy might have more insight on that - I think this was Javier and Mackinnon's brainchild & was motivated by uncaught regressions in the local dev experience

Copy link
Copy Markdown
Member

@ilonatommy ilonatommy Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have historic knowledge but the repo search confirms that Mackinnon added the template tests run to see if the generated projects build/publish/run after we broke local template development #56237. Afterwards, we expanded the job to run the full dev pipeline for templates: #60016.

We saved #60504 in backlog to make this validation cheaper, I believe we should follow its suggestions before removing it from running.

- ${{ if notIn(variables['Build.Reason'], 'PullRequest') }}:
- template: jobs/default-build.yml
parameters:
jobName: Local_Windows
jobDisplayName: 'Test: Windows local development validation'
agentOs: Windows
isAzDOTestingJob: true
timeoutInMinutes: 240
steps:
- script: git submodule update --init
displayName: Update submodules
- script: ./restore.cmd
displayName: Run restore.cmd
- powershell: ./eng/build.ps1 -all -noBuildJava -noBuildNodeJS "-WarnAsError:false"
displayName: Build (No NodeJS)
- script: npm run build
displayName: Build JS
- script: ./eng/build.cmd -all -noBuildJava -pack -c Debug
displayName: Build (Debug)
- script: ./eng/build.cmd -all -noBuildJava -pack -c Release
displayName: Build (Release)
- script: ./src/ProjectTemplates/build.cmd
-test
-NoRestore
-NoBuild
-NoBuildDeps
-configuration Release
-bl
displayName: Run project template tests
- powershell: . ./activate.ps1; ./src/ProjectTemplates/scripts/Run-BlazorWeb-Locally.ps1 -Verbose
displayName: Run Blazor web app test script

artifacts:
- name: Local_Windows_x64_Logs_Attempt_$(System.JobAttempt)
path: artifacts/log/
publishOnError: true
includeForks: true

# Source build
- template: /eng/common/templates/job/source-build.yml
Expand Down
Loading