DirectXTK/build/DirectXTK-GitHub-GDK.yml

222 строки
5.7 KiB
YAML
Исходник Постоянная ссылка Обычный вид История

2022-12-04 06:13:08 +03:00
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
#
# https://go.microsoft.com/fwlink/?LinkId=248929
2022-12-04 06:13:08 +03:00
2022-12-05 00:32:03 +03:00
# Builds the library and test suite using the Microsoft GDK.
# NOTE: We use x64 MSBuild for the GDK as the NuGets don't include 32-bit support to avoid cross-arch dependencies.
2022-12-04 06:13:08 +03:00
2022-12-04 04:49:52 +03:00
schedules:
- cron: "30 5 * * *"
displayName: 'Nightly build'
branches:
include:
- main
trigger:
branches:
include:
- main
paths:
exclude:
2024-04-01 22:57:26 +03:00
- '*.md'
- LICENSE
- CMake*
- '.github/*'
2024-04-01 22:57:26 +03:00
- '.nuget/*'
- build/*.cmake
- build/*.cmd
2024-04-01 22:57:26 +03:00
- build/*.in
- build/*.json
- build/*.ps1
pr:
branches:
include:
- main
paths:
exclude:
2024-04-01 22:57:26 +03:00
- '*.md'
- LICENSE
- CMake*
- '.github/*'
2024-04-01 22:57:26 +03:00
- '.nuget/*'
- build/*.cmake
- build/*.cmd
2024-04-01 22:57:26 +03:00
- build/*.in
- build/*.json
- build/*.ps1
drafts: false
2022-12-04 04:49:52 +03:00
resources:
repositories:
- repository: self
type: git
ref: refs/heads/main
- repository: testRepo
name: walbourn/directxtktest
type: github
endpoint: microsoft
ref: refs/heads/main
2022-12-04 04:49:52 +03:00
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
pool:
vmImage: windows-2019
variables:
2024-05-14 22:58:31 +03:00
Codeql.Enabled: false
2022-12-04 04:49:52 +03:00
EXTRACTED_FOLDER: $(ExtractedFolder)
GDK_EDITION: $(GDKEditionNumber)
GDKEnableBWOI: true
URL_FEED: $(ADOFeedURL)
skipNugetSecurityAnalysis: true # We explicitly call this task so we don't need it to be auto-injected
2022-12-04 04:49:52 +03:00
jobs:
- job: BUILD_GDK
displayName: 'Microsoft Game Development Kit (GDK)'
timeoutInMinutes: 120
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
fetchDepth: 1
2022-12-04 04:49:52 +03:00
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: PowerShell@2
displayName: 'Create nuget.config with single source'
inputs:
targetType: inline
script: |
$xml = @'
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
</packageSources>
</configuration>
'@
$xml | Set-Content -Path "$(Build.SourcesDirectory)\NuGet.config"
2022-12-04 04:49:52 +03:00
- task: NuGetCommand@2
# We have to use a nuget.config to provide the feed for the 'nuget install' option.
2022-12-05 00:32:03 +03:00
displayName: 'NuGet set package source to ADO feed'
2022-12-04 04:49:52 +03:00
inputs:
command: custom
arguments: sources add -Name xboxgdk -Source $(URL_FEED) -ConfigFile $(Build.SourcesDirectory)\NuGet.config
- task: nuget-security-analysis@0
displayName: 'Secure Supply Chain Analysis'
2024-09-12 02:21:49 +03:00
- task: NuGetAuthenticate@1
displayName: 'NuGet Auth'
2022-12-04 04:49:52 +03:00
- task: NuGetCommand@2
displayName: NuGet install PGDK
inputs:
command: custom
2024-09-16 21:17:59 +03:00
arguments: install -prerelease Microsoft.GDK.PC.$(GDK_EDITION) -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)
2022-12-04 04:49:52 +03:00
- task: CopyFiles@2
displayName: Set up Directory.Build.props
inputs:
SourceFolder: build
Contents: 'Directory.Build.props'
TargetFolder: $(Build.SourcesDirectory)
- task: MSBuild@1
displayName: Setup BWOI VCTargets
inputs:
solution: build/SetupBWOI.targets
msbuildVersion: 16.0
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution DirectXTK_GDK_2019 pcdbg
inputs:
solution: DirectXTK_GDK_2019.sln
vsVersion: 16.0
platform: Gaming.Desktop.x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build solution DirectXTK_GDK_2019 pcrel
inputs:
solution: DirectXTK_GDK_2019.sln
vsVersion: 16.0
platform: Gaming.Desktop.x64
configuration: Release
msbuildArchitecture: x64
- job: BUILD_TESTS_GDK
displayName: 'Test Suite for Microsoft Game Development Kit (GDK)'
timeoutInMinutes: 120
cancelTimeoutInMinutes: 1
steps:
- checkout: self
clean: true
fetchTags: false
fetchDepth: 1
path: 's'
- checkout: testRepo
2022-12-04 04:49:52 +03:00
displayName: Fetch Tests
clean: true
fetchTags: false
fetchDepth: 1
path: 's/Tests'
2022-12-04 04:49:52 +03:00
- task: NuGetToolInstaller@1
displayName: 'Use NuGet'
- task: PowerShell@2
displayName: 'Create nuget.config with single source'
inputs:
targetType: inline
script: |
$xml = @'
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
</packageSources>
</configuration>
'@
$xml | Set-Content -Path "$(Build.SourcesDirectory)\NuGet.config"
2022-12-04 04:49:52 +03:00
- task: NuGetCommand@2
2022-12-05 00:32:03 +03:00
displayName: 'NuGet set package source to ADO feed'
2022-12-04 04:49:52 +03:00
inputs:
command: custom
arguments: sources add -Name xboxgdk -Source $(URL_FEED) -ConfigFile $(Build.SourcesDirectory)\NuGet.config
- task: nuget-security-analysis@0
displayName: 'Secure Supply Chain Analysis'
2024-09-12 02:21:49 +03:00
- task: NuGetAuthenticate@1
displayName: 'NuGet Auth'
2022-12-04 04:49:52 +03:00
- task: NuGetCommand@2
displayName: NuGet install PGDK
inputs:
command: custom
2024-09-16 21:17:59 +03:00
arguments: install -prerelease Microsoft.GDK.PC.$(GDK_EDITION) -ExcludeVersion -OutputDirectory $(EXTRACTED_FOLDER)
2022-12-04 04:49:52 +03:00
- task: CopyFiles@2
displayName: Set up Directory.Build.props
inputs:
SourceFolder: build
Contents: 'Directory.Build.props'
TargetFolder: $(Build.SourcesDirectory)
- task: MSBuild@1
displayName: Setup BWOI VCTargets
inputs:
solution: build/SetupBWOI.targets
msbuildVersion: 16.0
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build Tests pcdbg
inputs:
solution: '**\*GDK_2019*.sln'
vsVersion: 16.0
platform: Gaming.Desktop.x64
configuration: Debug
msbuildArchitecture: x64
- task: VSBuild@1
displayName: Build Tests pcrel
inputs:
solution: '**\*GDK_2019*.sln'
vsVersion: 16.0
platform: Gaming.Desktop.x64
configuration: Release
msbuildArchitecture: x64