Run all Linux based jobs in a container, using a custom Fedora 35 image (gcc 11). The image URL specified in the defaults.yml template, so that all CI jobs can use it. The image is hosted on ghcr.io and the Dockerfiles are here: https://github.com/tianocore/containers The version numbers of gcc, iasl, and nasm are pinned to avoid unintended upgrades during image rebuild. Do not run apt-get in CI jobs to install qemu and gcc dependencies. Assume the container image provides these. Use Python from the container image, do not download at runtime. Signed-off-by: Oliver Steffen <osteffen@redhat.com> Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Chris Fernald <chfernal@microsoft.com>
29 lines
782 B
YAML
29 lines
782 B
YAML
## @file
|
|
# File templates/basetools-build-job.yml
|
|
#
|
|
# template file to build basetools
|
|
#
|
|
# Copyright (c) Microsoft Corporation.
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
##
|
|
parameters:
|
|
tool_chain_tag: ''
|
|
|
|
steps:
|
|
- task: CmdLine@1
|
|
displayName: Build Base Tools from source
|
|
inputs:
|
|
filename: python
|
|
arguments: BaseTools/Edk2ToolsBuild.py -t ${{ parameters.tool_chain_tag }}
|
|
condition: and(gt(variables.pkg_count, 0), succeeded())
|
|
|
|
- task: CopyFiles@2
|
|
displayName: "Copy base tools build log"
|
|
inputs:
|
|
targetFolder: '$(Build.ArtifactStagingDirectory)'
|
|
SourceFolder: 'BaseTools/BaseToolsBuild'
|
|
contents: |
|
|
BASETOOLS_BUILD*.*
|
|
flattenFolders: true
|
|
condition: and(gt(variables.pkg_count, 0), succeededOrFailed())
|