Update release pipeline for refactor (#459)
## Description - Updates the Release.yml pipeline to accommodate the recent refactor in mu_tiano_platforms. - Updates some versions used in related YAML files to latest. - Makes the Job ID in Platform-Build-Job.yml unique so it can be invoked multiple times from a single stage. - Relies entirely upon the `tool_chain_tag` parameter in `Platform-Build-Job.yml` to remove assumptions about pipeline variables in the environment (which allows the file to be reused across different values of the variables) in the same stage. Note: Some versions (like Linux container image) are directly specified in `Release.yml`. The file will be synced fom mu_devops in the future to reuse the single definition for these versions maintained there. - [ ] Impacts functionality? - **Functionality** - Does the change ultimately impact how firmware functions? - Examples: Add a new library, publish a new PPI, update an algorithm, ... - [ ] Impacts security? - **Security** - Does the change have a direct security impact on an application, flow, or firmware? - Examples: Crypto algorithm change, buffer overflow fix, parameter validation improvement, ... - [ ] Breaking change? - **Breaking change** - Will anyone consuming this change experience a break in build or boot behavior? - Examples: Add a new library class, move a module to a different repo, call a function in a new library class in a pre-existing module, ... - [ ] Includes tests? - **Tests** - Does the change include any explicit test code? - Examples: Unit tests, integration tests, robot tests, ... - [ ] Includes documentation? - **Documentation** - Does the change contain explicit documentation additions outside direct code modifications (and comments)? - Examples: Update readme file, add feature readme file, link to documentation on an a separate Web page, ... ## How This Was Tested Mu Tiano Platforms fork. ## Integration Instructions N/A - Release pipeline for this repo. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
This commit is contained in:
Родитель
e0c6ef0d99
Коммит
57e90f7d74
|
@ -25,7 +25,7 @@ parameters:
|
|||
default: ''
|
||||
|
||||
jobs:
|
||||
- job: PlatformBuild
|
||||
- job: PlatformBuild_${{ parameters.tool_chain_tag }}
|
||||
displayName: Build Platforms
|
||||
|
||||
variables:
|
||||
|
@ -118,7 +118,7 @@ jobs:
|
|||
displayName: Install mtools and dosfstools
|
||||
- template: Steps/BuildPlatform.yml@mu_devops
|
||||
parameters:
|
||||
tool_chain_tag: $(tool_chain_tag)
|
||||
tool_chain_tag: ${{ parameters.tool_chain_tag }}
|
||||
build_pkg: $(Build.Package)
|
||||
build_target: $(Build.Target)
|
||||
build_arch: $(Build.Arch)
|
||||
|
@ -128,5 +128,5 @@ jobs:
|
|||
run_timeout: 25
|
||||
extra_install_step: ${{ parameters.extra_install_step }}
|
||||
install_tools: ${{ eq(parameters.container_image, '') }}
|
||||
artifacts_identifier: '$(Build.Package) $(tool_chain_tag) $(Build.Target) $(Build.ExtraTag)'
|
||||
artifacts_identifier: '$(Build.Package) ${{ parameters.tool_chain_tag }} $(Build.Target) $(Build.ExtraTag)'
|
||||
artifacts_binary: $(Build.ArtifactsBinary)
|
||||
|
|
|
@ -23,5 +23,5 @@ jobs:
|
|||
- powershell: choco install qemu --version=2022.8.31; Write-Host "##vso[task.prependpath]c:\Program Files\qemu"
|
||||
displayName: Install QEMU and Set QEMU on path # friendly name displayed in the UI
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
tool_chain_tag: $(tool_chain_tag)
|
||||
tool_chain_tag: 'VS2022'
|
||||
vm_image: $(vm_image)
|
||||
|
|
|
@ -17,27 +17,35 @@ resources:
|
|||
type: github
|
||||
endpoint: microsoft
|
||||
name: microsoft/mu_devops
|
||||
ref: refs/tags/v2.0.1
|
||||
ref: refs/tags/v2.3.0
|
||||
|
||||
name: $(Date:yyyyMMdd)$(Rev:.r) Mu Tiano Platforms Release
|
||||
|
||||
stages:
|
||||
- stage: BuildQemuQ35
|
||||
displayName: Build QEMU Q35
|
||||
- stage: BuildQemuPlatforms
|
||||
displayName: Build QEMU Platforms
|
||||
jobs:
|
||||
- template: ../Platforms/QemuQ35Pkg/.azurepipelines/templates/Job-Ubuntu-GCC5.yml
|
||||
- template: ../Platforms/QemuQ35Pkg/.azurepipelines/templates/Job-Windows-VS.yml
|
||||
- template: Platform-Build-Job.yml
|
||||
parameters:
|
||||
extra_install_step:
|
||||
- script: sudo dnf --assumeyes install openssl-devel
|
||||
displayName: Install openssl
|
||||
container_image: ghcr.io/tianocore/containers/fedora-37-test:54e5bd1
|
||||
tool_chain_tag: GCC5
|
||||
vm_image: ubuntu-latest
|
||||
|
||||
- stage: BuildQemuSbsa
|
||||
displayName: Build QEMU SBSA
|
||||
dependsOn: [] # Build in parallel with the previous stage
|
||||
jobs:
|
||||
- template: ../Platforms/QemuSbsaPkg/.azurepipelines/templates/Job-Ubuntu-GCC5.yml
|
||||
- template: Platform-Build-Job.yml
|
||||
parameters:
|
||||
extra_install_step:
|
||||
- powershell: choco install qemu --version=2022.8.31; Write-Host "##vso[task.prependpath]c:\Program Files\qemu"
|
||||
displayName: Install QEMU and Set QEMU on path
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
tool_chain_tag: VS2022
|
||||
vm_image: windows-latest
|
||||
|
||||
- stage: PublishReleaseArtifacts
|
||||
displayName: Publish Release Artifacts
|
||||
dependsOn:
|
||||
- BuildQemuQ35
|
||||
- BuildQemuSbsa
|
||||
- BuildQemuPlatforms
|
||||
jobs:
|
||||
- template: templates/Job-Publish.yml
|
||||
|
|
|
@ -73,9 +73,9 @@ jobs:
|
|||
- checkout: none
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
displayName: Use Python 3.10.x
|
||||
displayName: Use Python 3.11.x
|
||||
inputs:
|
||||
versionSpec: 3.10.x
|
||||
versionSpec: 3.11.x
|
||||
architecture: x64
|
||||
|
||||
- script: python -m pip install edk2-pytool-extensions==0.*
|
||||
|
|
Загрузка…
Ссылка в новой задаче