Skip to content

Commit

Permalink
Update common Docker engineering infrastructure with latest
Browse files Browse the repository at this point in the history
  • Loading branch information
dotnet-docker-bot committed Jan 9, 2025
1 parent 8627e2e commit 0587b23
Show file tree
Hide file tree
Showing 7 changed files with 59 additions and 41 deletions.
5 changes: 2 additions & 3 deletions eng/common/templates/jobs/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,9 @@ parameters:

jobs:
- job: ${{ parameters.name }}
condition: and(${{ parameters.matrix }}, not(canceled()), or(in(dependencies.PreBuildValidation.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'), eq(${{ parameters.isInternalServicingValidation }}, 'true')))
condition: and(${{ parameters.matrix }}, not(canceled()), in(dependencies.PreBuildValidation.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'))
dependsOn:
- ${{ if eq(parameters.isInternalServicingValidation, 'false') }}:
- PreBuildValidation
- PreBuildValidation
- CopyBaseImages
- GenerateBuildMatrix
pool: ${{ parameters.pool }}
Expand Down
2 changes: 2 additions & 0 deletions eng/common/templates/jobs/post-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ jobs:
- template: /eng/common/templates/steps/download-build-artifact.yml@self
parameters:
targetPath: $(Build.ArtifactStagingDirectory)
# This can fail if no build jobs ran to produce any artifacts
continueOnError: true
- powershell: |
# Move all image-info artifacts to their own directory
New-Item -ItemType Directory -Path $(imageInfosHostDir)
Expand Down
47 changes: 32 additions & 15 deletions eng/common/templates/jobs/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ jobs:
parameters:
targetPath: $(imageInfoHostDir)
artifactName: image-info
# This can fail in scenarios where no build jobs have run to produce any artifacts
continueOnError: true
- template: /eng/common/templates/steps/set-image-info-path-var.yml@self
parameters:
publicSourceBranch: $(publicSourceBranch)
Expand Down Expand Up @@ -107,21 +109,22 @@ jobs:
- script: mkdir -p $(Build.ArtifactStagingDirectory)/eol-annotation-data
displayName: Create EOL Annotation Data Directory
- script: >
$(runImageBuilderCmd) publishImageInfo
'$(imageInfoContainerDir)/image-info.json'
'$(gitHubVersionsRepoInfo.userName)'
'$(gitHubVersionsRepoInfo.email)'
'$(gitHubVersionsRepoInfo.accessToken)'
--git-owner '$(gitHubVersionsRepoInfo.org)'
--git-repo '$(gitHubVersionsRepoInfo.repo)'
--git-branch '$(gitHubVersionsRepoInfo.branch)'
--git-path '$(gitHubImageInfoVersionsPath)'
--image-info-orig-path '$(artifactsPath)/eol-annotation-data/image-info-old.json'
--image-info-update-path '$(artifactsPath)/eol-annotation-data/image-info-new.json'
curl -fSL
--output $(imageInfoHostDir)/full-image-info-orig.json
https://raw.githubusercontent.com/$(gitHubVersionsRepoInfo.org)/$(gitHubVersionsRepoInfo.repo)/refs/heads/$(gitHubVersionsRepoInfo.branch)/$(gitHubImageInfoVersionsPath)
condition: and(succeeded(), eq(variables['publishImageInfo'], 'true'))
displayName: Download Latest Image Info
- script: >
$(runImageBuilderCmd) mergeImageInfo
$(imageInfoContainerDir)
$(imageInfoContainerDir)/full-image-info-new.json
$(manifestVariables)
$(dryRunArg)
$(imageBuilder.commonCmdArgs)
--manifest $(manifest)
--publish
--initial-image-info-path $(imageInfoContainerDir)/full-image-info-orig.json
condition: and(succeeded(), eq(variables['publishImageInfo'], 'true'))
displayName: Publish Image Info
displayName: Merge Image Info
- template: /eng/common/templates/steps/run-imagebuilder.yml@self
parameters:
displayName: Ingest Kusto Image Info
Expand All @@ -148,8 +151,8 @@ jobs:
args: >
generateEolAnnotationData
'$(artifactsPath)/eol-annotation-data/eol-annotation-data.json'
'$(artifactsPath)/eol-annotation-data/image-info-old.json'
'$(artifactsPath)/eol-annotation-data/image-info-new.json'
'$(imageInfoContainerDir)/full-image-info-orig.json'
'$(imageInfoContainerDir)/full-image-info-new.json'
'$(acr.server)'
'$(publishRepoPrefix)'
$(generateEolAnnotationDataExtraOptions)
Expand All @@ -166,6 +169,20 @@ jobs:
parameters:
internalProjectName: ${{ parameters.internalProjectName }}
dataFile: $(artifactsPath)/eol-annotation-data/eol-annotation-data.json
- script: >
$(runImageBuilderCmd) publishImageInfo
'$(imageInfoContainerDir)/full-image-info-new.json'
'$(gitHubVersionsRepoInfo.userName)'
'$(gitHubVersionsRepoInfo.email)'
'$(gitHubVersionsRepoInfo.accessToken)'
--git-owner '$(gitHubVersionsRepoInfo.org)'
--git-repo '$(gitHubVersionsRepoInfo.repo)'
--git-branch '$(gitHubVersionsRepoInfo.branch)'
--git-path '$(gitHubImageInfoVersionsPath)'
$(dryRunArg)
$(imageBuilder.commonCmdArgs)
condition: and(succeeded(), eq(variables['publishImageInfo'], 'true'))
displayName: Publish Image Info
- script: >
$(runImageBuilderCmd) postPublishNotification
'$(publishNotificationRepoName)'
Expand Down
38 changes: 18 additions & 20 deletions eng/common/templates/stages/build-test-publish-repo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,25 +51,24 @@ stages:
- stage: Build
condition: and(succeeded(), contains(variables['stages'], 'build'))
jobs:
- ${{ if eq(parameters.isInternalServicingValidation, 'false') }}:
- template: /eng/common/templates/jobs/test-images-linux-client.yml@self
parameters:
name: PreBuildValidation
pool: ${{ parameters.linuxAmd64Pool }}
testJobTimeout: ${{ parameters.linuxAmdTestJobTimeout }}
preBuildValidation: true
internalProjectName: ${{ parameters.internalProjectName }}
customInitSteps:
- ${{ parameters.customTestInitSteps }}
# These variables are normally set by the matrix. Since this test job is not generated
# by a matrix, we need to set them manually. They can be set to empty values since their
# values aren't actually used for the pre-build tests.
- powershell: |
echo "##vso[task.setvariable variable=productVersion]"
echo "##vso[task.setvariable variable=imageBuilderPaths]"
echo "##vso[task.setvariable variable=osVersions]"
echo "##vso[task.setvariable variable=architecture]"
displayName: Initialize Test Variables
- template: /eng/common/templates/jobs/test-images-linux-client.yml@self
parameters:
name: PreBuildValidation
pool: ${{ parameters.linuxAmd64Pool }}
testJobTimeout: ${{ parameters.linuxAmdTestJobTimeout }}
preBuildValidation: true
internalProjectName: ${{ parameters.internalProjectName }}
customInitSteps:
- ${{ parameters.customTestInitSteps }}
# These variables are normally set by the matrix. Since this test job is not generated
# by a matrix, we need to set them manually. They can be set to empty values since their
# values aren't actually used for the pre-build tests.
- powershell: |
echo "##vso[task.setvariable variable=productVersion]"
echo "##vso[task.setvariable variable=imageBuilderPaths]"
echo "##vso[task.setvariable variable=osVersions]"
echo "##vso[task.setvariable variable=architecture]"
displayName: Initialize Test Variables
- template: /eng/common/templates/jobs/copy-base-images-staging.yml@self
parameters:
name: CopyBaseImages
Expand Down Expand Up @@ -344,7 +343,6 @@ stages:
condition: "
and(
not(canceled()),
ne(stageDependencies.Post_Build.outputs['Build.MergeImageInfoFiles.noImageInfos'], 'true'),
and(
contains(variables['stages'], 'publish'),
or(
Expand Down
2 changes: 2 additions & 0 deletions eng/common/templates/steps/download-build-artifact.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ parameters:
targetPath: ""
artifactName: ""
condition: true
continueOnError: false

steps:
- task: DownloadPipelineArtifact@1
Expand All @@ -15,3 +16,4 @@ steps:
artifactName: ${{ parameters.artifactName }}
displayName: Download Build Artifact(s)
condition: and(succeeded(), ${{ parameters.condition }})
continueOnError: ${{ parameters.continueOnError }}
2 changes: 1 addition & 1 deletion eng/common/templates/steps/init-docker-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ steps:
$authedImageBuilderCmds = @(
'$env:AZURE_TENANT_ID = $env:tenantId'
'$env:AZURE_CLIENT_ID = $env:servicePrincipalId'
'$env:AZURE_FEDERATED_TOKEN_FILE' + " = $tokenHostFilePath"
'$env:AZURE_FEDERATED_TOKEN_FILE = ' + "'" + "$tokenHostFilePath" + "'"
$runImageBuilderCmd
)
Expand Down
4 changes: 2 additions & 2 deletions eng/common/templates/variables/docker-images.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
variables:
imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2570468
imageNames.imageBuilderName: mcr.microsoft.com/dotnet-buildtools/image-builder:2613921
imageNames.imageBuilder: $(imageNames.imageBuilderName)
imageNames.imageBuilder.withrepo: imagebuilder-withrepo:$(Build.BuildId)-$(System.JobId)
imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:cbl-mariner2.0-docker-testrunner
imageNames.testRunner: mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux3.0-docker-testrunner
imageNames.testRunner.withrepo: testrunner-withrepo:$(Build.BuildId)-$(System.JobId)

0 comments on commit 0587b23

Please sign in to comment.