mirror of
https://github.com/microsoft/UVAtlas
synced 2024-11-09 13:50:05 +00:00
Add SDL pipeline (#128)
This commit is contained in:
parent
42b71afe1c
commit
6e1aec73f9
136
build/UVAtlas-SDL.yml
Normal file
136
build/UVAtlas-SDL.yml
Normal file
@ -0,0 +1,136 @@
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Licensed under the MIT License.
|
||||
#
|
||||
# http://go.microsoft.com/fwlink/?LinkID=512686
|
||||
|
||||
# Runs various SDL recommended tools on the code.
|
||||
|
||||
schedules:
|
||||
- cron: "0 3 * * 0,3,5"
|
||||
displayName: 'Three times a week'
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
|
||||
trigger: none
|
||||
pr: none
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: self
|
||||
type: git
|
||||
ref: refs/heads/main
|
||||
|
||||
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
|
||||
|
||||
variables:
|
||||
VS_GENERATOR: 'Visual Studio 17 2022'
|
||||
VCPKG_CMAKE_DIR: '$(VCPKG_ROOT)/scripts/buildsystems/vcpkg.cmake'
|
||||
GITHUB_PAT: $(GITHUBPUBLICTOKEN)
|
||||
|
||||
pool:
|
||||
vmImage: windows-2022
|
||||
|
||||
jobs:
|
||||
- job: SDL_BUILD
|
||||
displayName: 'Build using required SDL tools'
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
fetchTags: false
|
||||
- task: NodeTool@0
|
||||
displayName: 'NPM install'
|
||||
inputs:
|
||||
versionSpec: 14.x
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-credscan.CredScan@3
|
||||
displayName: 'Run Credential Scanner'
|
||||
inputs:
|
||||
debugMode: false
|
||||
folderSuppression: false
|
||||
- task: PoliCheck@2
|
||||
displayName: 'Run PoliCheck'
|
||||
inputs:
|
||||
result: PoliCheck.xml
|
||||
- task: Armory@2
|
||||
displayName: Run ARMory
|
||||
- task: CmdLine@2
|
||||
# We can use the preinstalled vcpkg instead of the latest when MS Hosted updates their vcpkg to the newer DirectX-Headers
|
||||
displayName: Fetch VCPKG
|
||||
inputs:
|
||||
script: git clone --quiet https://%GITHUB_PAT%@github.com/microsoft/vcpkg.git
|
||||
workingDirectory: $(Build.SourcesDirectory)
|
||||
- task: CmdLine@2
|
||||
displayName: VCPKG Bootstrap
|
||||
inputs:
|
||||
script: |
|
||||
call bootstrap-vcpkg.bat
|
||||
|
||||
workingDirectory: $(Build.SourcesDirectory)\vcpkg
|
||||
- task: CmdLine@2
|
||||
displayName: VCPKG install headers
|
||||
inputs:
|
||||
script: |
|
||||
call vcpkg install directxmath
|
||||
@if ERRORLEVEL 1 goto error
|
||||
call vcpkg install directx-headers
|
||||
@if ERRORLEVEL 1 goto error
|
||||
call vcpkg install directxmesh
|
||||
@if ERRORLEVEL 1 goto error
|
||||
call vcpkg install directxtex
|
||||
@if ERRORLEVEL 1 goto error
|
||||
:finish
|
||||
@echo --- VCPKG COMPLETE ---
|
||||
exit /b 0
|
||||
:error
|
||||
@echo --- ERROR: VCPKG FAILED ---
|
||||
exit /b 1
|
||||
|
||||
workingDirectory: $(Build.SourcesDirectory)\vcpkg
|
||||
- task: CMake@1
|
||||
displayName: 'CMake (MSVC): Config x64'
|
||||
inputs:
|
||||
cwd: '$(Build.SourcesDirectory)'
|
||||
cmakeArgs: '-G "$(VS_GENERATOR)" -A x64 -B out -DENABLE_SPECTRE_MITIGATION=ON -DBUILD_TOOLS=ON -DCMAKE_TOOLCHAIN_FILE="$(VCPKG_CMAKE_DIR)"'
|
||||
- task: Semmle@1
|
||||
displayName: 'Run CodeQL (Semmle) (C++)'
|
||||
env:
|
||||
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
|
||||
inputs:
|
||||
sourceCodeDirectory: '$(Build.SourcesDirectory)'
|
||||
language: 'cpp'
|
||||
querySuite: 'Recommended'
|
||||
timeout: '1800'
|
||||
ram: '16384'
|
||||
addProjectDirToScanningExclusionList: true
|
||||
buildCommandsString: '"%ProgramFiles%\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsMSBuildCmd.bat" && msbuild $(Build.SourcesDirectory)/out/UVAtlas.sln /p:Configuration=Release'
|
||||
- task: CMake@1
|
||||
displayName: 'CMake (MSVC): Build x64 Release'
|
||||
inputs:
|
||||
cwd: '$(Build.SourcesDirectory)'
|
||||
cmakeArgs: --build out -v --config RelWithDebInfo
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-antimalware.AntiMalware@4
|
||||
displayName: 'Run AntiMalware'
|
||||
inputs:
|
||||
InputType: 'Basic'
|
||||
ScanType: 'CustomScan'
|
||||
FileDirPath: $(Agent.BuildDirectory)
|
||||
EnableSERVICEs: true
|
||||
SupportLogOnError: false
|
||||
TreatSignatureUpdateFailureAs: 'Warning'
|
||||
SignatureFreshness: 'OneDay'
|
||||
TreatStaleSignatureAs: 'Error'
|
||||
condition: always()
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-binskim.BinSkim@4
|
||||
displayName: 'Run BinSkim'
|
||||
inputs:
|
||||
AnalyzeTargetBinskim: ''
|
||||
AnalyzeTargetGlob: +:file|out\bin\**\RelWithDebInfo\*.exe
|
||||
AnalyzeVerbose: true
|
||||
- task: securedevelopmentteam.vss-secure-development-tools.build-task-postanalysis.PostAnalysis@2
|
||||
displayName: 'Post Analysis'
|
||||
inputs:
|
||||
GdnBreakAllTools: true
|
||||
GdnBreakPolicy: 'Microsoft'
|
||||
GdnBreakPolicyMinSev: 'Error'
|
||||
- task: ComponentGovernanceComponentDetection@0
|
||||
displayName: Component Detection
|
Loading…
Reference in New Issue
Block a user