6 changed files
.azuredevops | ||
templates | ||
LinuxBuildSteps.yml | ||
BuildStage.yml | ||
NugetPublishingStage.yml | ||
Ubuntu-GccLatest-Debug.yml | ||
Ubuntu-GccLatest-Release.yml | ||
.gitignore | ||
LinuxBuildSteps.yml
/.azuredevops/templates/LinuxBuildSteps.yml+24/.azuredevops/templates/LinuxBuildSteps.yml
Add comment 5 #
Add comment 6 ##
Add comment 7
Add comment 8 Plus parameters:
Add comment 9 Plus - name: target_arch
Add comment 10 Plus type: string
Add comment 11 Plus default: x64
Add comment 12 Plus
Add comment 8 13 steps:
Add comment 14 Plus - ${{ each parameter in parameters }}:
Add comment 15 Plus - bash: |
Add comment 16 Plus if [ "${{ parameter.Key }}" = "target_arch" ]; then
Add comment 17 Plus allowed_architectures=("x64" "arm64")
Add comment 18 Plus if [[ ! " ${allowed_architectures[@]} " =~ "${{ parameter.Value }}" ]]; then
Add comment 19 Plus echo "##vso[task.logissue type=error;]Invalid value '${{ parameter.Value }}' for parameter 'target_arch'. Allowed values are: ${allowed_architectures[@]}"
Add comment 20 Plus echo "##vso[task.complete result=Failed;]"
Add comment 21 Plus fi
Add comment 22 Plus fi
Add comment 23 Plus displayName: 'Checking ${{ parameter.Key }}'
Add comment 24 Plus
Add comment 9 25 - script: |
Add comment 26 Plus if [ ${{ parameters.target_arch }} = 'arm64' ];
Add comment 27 Plus then mkdir $BUILD_SOURCESDIRECTORY/compiler;
Add comment 28 Plus # Use the same version of cross compiler carried in https://github.com/microsoft/mu_basecore/blob/release/202208/BaseTools/Bin/gcc_aarch64_linux_ext_dep.yaml
Add comment 29 Plus wget -O - "https://developer.arm.com/-/media/Files/downloads/gnu/11.2-2022.02/binrel/gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu.tar.xz" | tar -xJ -C $BUILD_SOURCESDIRECTORY/compiler --strip-components=1
Add comment 30 Plus C_COMPILER=$BUILD_SOURCESDIRECTORY/compiler/bin/aarch64-none-linux-gnu-gcc;
Add comment 31 Plus CXX_COMPILER=$BUILD_SOURCESDIRECTORY/compiler/bin/aarch64-none-linux-gnu-g++;
Add comment 32 Plus fi
Add comment 33 Plus
Add comment 10 34 if [ -n "${C_COMPILER}" ]; then export CC="${C_COMPILER}"; fi
Add comment 11 35 if [ -n "${CXX_COMPILER}" ]; then export CXX="${CXX_COMPILER}"; fi
Add comment 12 36 ${CXX} --version
Add comment 94 # Run OS-specific build commands
Add comment 95 - ${{ if eq(parameters.build_os, 'ubuntu') }}:
Add comment 96 - template: templates/LinuxBuildSteps.yml
Add comment 97 Plus parameters:
Add comment 98 Plus target_arch: $(Build.TargetArch)
Add comment 97 99 - ${{ if eq(parameters.build_os, 'windows') }}:
Add comment 98 100 - template: templates/WindowsBuildSteps.yml
Add comment 99 101 parameters:
NugetPublishingStage.yml
/.azuredevops/NugetPublishingStage.yml-2+24/.azuredevops/NugetPublishingStage.yml
Add comment 95 displayName: 'Install tools'
Add comment 96
Add comment 97 - task: DownloadBuildArtifacts@0
Add comment 98 Minus name: DownloadLinuxBuildArtifacts
Add comment 98 Plus name: DownloadLinuxBuildArtifacts_x86
Add comment 99 displayName: Download $(linux_target_os_name).x64.$(build_type) Build Artifacts
Add comment 100 inputs:
Add comment 101 buildType: 'specific'
Add comment 109 downloadPath: '$(Build.StagingDirectory)/Artifacts/Linux-x86'
Add comment 110
Add comment 111 - task: DownloadBuildArtifacts@0
Add comment 112 Plus name: DownloadLinuxBuildArtifacts_ARM
Add comment 113 Plus displayName: Download $(windows_target_os_name).arm64.$(build_type) Build Artifacts
Add comment 114 Plus inputs:
Add comment 115 Plus buildType: 'specific'
Add comment 116 Plus project: $(System.TeamProject)
Add comment 117 Plus pipeline: $(linux_pipeline_name)
Add comment 118 Plus specificBuildWithTriggering: true
Add comment 119 Plus buildVersionToDownload: 'latest' # Change to accept a specific version in the future (if needed)
Add comment 120 Plus tags: 'release' # Only publish builds with the "release" tag set
Add comment 121 Plus downloadType: 'single'
Add comment 122 Plus artifactName: 'Executable_arm64'
Add comment 123 Plus downloadPath: '$(Build.StagingDirectory)/Artifacts/Linux-ARM'
Add comment 124 Plus
Add comment 125 Plus - task: DownloadBuildArtifacts@0
Add comment 112 126 name: DownloadWindowsBuildArtifacts_x86
Add comment 113 127 displayName: Download $(windows_target_os_name).x64.$(build_type) Build Artifacts
Add comment 114 128 inputs:
Add comment 151 165 downloadPath: '$(Build.StagingDirectory)/Artifacts/MacOs-x86'
Add comment 152 166
Add comment 153 167 - task: CopyFiles@2
Add comment 154 Minus displayName: "Copy Linux Executable"
Add comment 168 Plus displayName: "Copy Linux-86 Executable"
Add comment 155 169 inputs:
Add comment 156 170 targetFolder: '$(Build.StagingDirectory)/Nuget/package_contents/Linux-x86'
Add comment 157 171 SourceFolder: '$(Build.StagingDirectory)/Artifacts/Linux-x86'
Add comment 159 173 flattenFolders: true
Add comment 160 174
Add comment 161 175 - task: CopyFiles@2
Add comment 176 Plus displayName: "Copy Linux-ARM Executable"
Add comment 177 Plus inputs:
Add comment 178 Plus targetFolder: '$(Build.StagingDirectory)/Nuget/package_contents/Linux-ARM'
Add comment 179 Plus SourceFolder: '$(Build.StagingDirectory)/Artifacts/Linux-ARM'
Add comment 180 Plus contents: '**'
Add comment 181 Plus flattenFolders: true
Add comment 182 Plus
Add comment 183 Plus - task: CopyFiles@2
Add comment 162 184 displayName: "Copy Windows-x86 Executable"
Add comment 163 185 inputs:
Add comment 164 186 targetFolder: '$(Build.StagingDirectory)/Nuget/package_contents/Windows-x86'
Ubuntu-GccLatest-Debug.yml
/.azuredevops/Ubuntu-GccLatest-Debug.yml-1+1/.azuredevops/Ubuntu-GccLatest-Debug.yml
Add comment 23 build_version: '20.04'
Add comment 24 build_type: debug
Add comment 25 generator: ' '
Add comment 26 Minus target_arch: x64
Add comment 26 Plus target_arch: x64,arm64
Add comment 27
Ubuntu-GccLatest-Release.yml
/.azuredevops/Ubuntu-GccLatest-Release.yml-1+1/.azuredevops/Ubuntu-GccLatest-Release.yml
Add comment 23 build_version: '20.04'
Add comment 24 build_type: release
Add comment 25 generator: ' '
Add comment 26 Minus target_arch: x64
Add comment 26 Plus target_arch: x64,arm64
Add comment 27
Add comment 68
Add comment 69 # VS Code files
Add comment 70 .vs/
Add comment 71 Plus
Add comment 72 Plus # Downloaded cross compilers
Add comment 73 Plus compiler/
Add comment 71 74