Skip to content

Commit

Permalink
Create and publish bootstrapper for our test team (#7867)
Browse files Browse the repository at this point in the history
* build and upload bootstrapper

* create bootstrapper output directory

* fix step name

* change channel to int.main

* fix channel name

* update bootstrapper task to v3

* clean up bootstrapper steps

* make sure bootstrapper gets uploaded to vsdrop

* Add comment about the bootstrapper output folder
  • Loading branch information
AdamYoblick authored Apr 9, 2024
1 parent a21bfb4 commit 5c6418d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 19 deletions.
29 changes: 14 additions & 15 deletions Build/templates/create_vs_bootstrapper.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
steps:

# Create VS bootstrapper.
# This is essentially a "main" build of VS with the Python workload (that we just built) installed.

# It will be created under $(Build.StagingDirectory)\release, which is uploaded (in a later step) to a vsts drop.
# The URI to the uploaded bootstrapper is contained in the bootstrapper.json, which is consumed by the
# integration tests on lab machines.
- task: MicroBuildBuildVSBootstrapper@2
displayName: 'Build Bootstrapper.json'
condition: notin(variables['Build.Reason'], 'PullRequest')
# Create VS bootstrapper
# See https://devdiv.visualstudio.com/DevDiv/_wiki/wikis/DevDiv.wiki/643/How-to-Build-a-Bootstrapper for more details.
# This is the latest IntPreview build of VS with the Python workload (that we just built) installed.
- task: MicroBuildBuildVSBootstrapper@3
displayName: 'Build Bootstrapper'
inputs:
channelName: 'int.main'
channelName: 'IntPreview'
vsMajorVersion: '17'
bootstrapperCoreFeedSource: 'https://devdiv.pkgs.visualstudio.com/_packaging/Setup/nuget/v3/index.json'
bootstrapperCoreDependenciesFeedSource: 'https://devdiv.pkgs.visualstudio.com/_packaging/Setup-Dependencies/nuget/v3/index.json'
nugetOrgPublicFeedSource: 'https://api.nuget.org/v3/index.json'
# this outputFolder must match the "dropFolder" in the 1ES.MicroBuildVstsDrop@1 task in azure-pipelines.yml
outputFolder: $(Build.StagingDirectory)\release
manifests: $(Build.StagingDirectory)\release\Microsoft.PythonTools.vsman

# Publish Bootstrapper.json as a build artifact so test pipelines can consume it
- task: PublishBuildArtifacts@1
# Publish the bootstrapper as a build artifact.
# We do this manually instead of using the templateContext outputs because we don't need sbom generation.
- task: 1ES.PublishBuildArtifacts@1
displayName: 'Publish Artifact: bootstrapper'
inputs:
PathtoPublish: $(Build.StagingDirectory)\MicroBuild\Output
ArtifactName: MicroBuildOutputs
displayName: 'Publish Artifact: MicroBuildOutputs (Bootstrapper.json)'
PathtoPublish: $(Build.StagingDirectory)\release\bootstrapper
ArtifactName: bootstrapper
sbomEnabled: false
6 changes: 2 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,11 +161,9 @@ extends:
# Non-PR steps
- ${{ if notin(variables['Build.Reason'], 'PullRequest') }}:

# Create VS bootstrapper for tests.
# This must happen BEFORE the 1ES.MicroBuildVstsDrop@1 task, since the bootstrapper
# needs to be uploaded to the drop as well.
# Create VS bootstrapper for testing
# This step is disabled for now because it's blocking the build and we don't currently use it.
# - template: Build/templates/create_vs_bootstrapper.yml
- template: Build/templates/create_vs_bootstrapper.yml@self

# Upload vsts drop used by Visual Studio insertions
- task: 1ES.MicroBuildVstsDrop@1
Expand Down

0 comments on commit 5c6418d

Please sign in to comment.