diff --git a/build/ci-codecheck.yml b/build/ci-codecheck.yml new file mode 100644 index 00000000..d0930b90 --- /dev/null +++ b/build/ci-codecheck.yml @@ -0,0 +1,37 @@ +name: $(Build.Major).$(Build.Minor).$(date:yyMM).$(DayOfMonth)$(rev:rr) + +trigger: none + +pr: +- main +- feature/* +- features/* +- release/* + +schedules: +- cron: "0 9 * * Sat" + displayName: 'Build for Component Governance' + branches: + include: + - main + always: true + +variables: + CI: "true" + +jobs: +- job: build + displayName: Build + strategy: + matrix: + linux: + imageName: 'ubuntu-latest' + mac: + imageName: 'macOS-latest' + #windows: # No sanitizers supported on Win at the moment. + # imageName: 'windows-latest' + pool: + vmImage: $(imageName) + + steps: + - template: steps-codecheck.yml diff --git a/build/steps-codecheck.yml b/build/steps-codecheck.yml new file mode 100644 index 00000000..8a25efe6 --- /dev/null +++ b/build/steps-codecheck.yml @@ -0,0 +1,50 @@ +## +# Run all build steps. +## +steps: + +- task: NuGetToolInstaller@0 + displayName: 'Use NuGet 5.6.0' + inputs: + versionSpec: '5.6.0' + + # QIR Runtime: +- pwsh: src/Qir/Runtime/prerequisites.ps1 + displayName: "Install QIR Runtime Prerequisistes" + workingDirectory: $(System.DefaultWorkingDirectory) + +- pwsh: src/Qir/Runtime/build-qir-runtime.ps1 + displayName: "Build QIR Runtime" + workingDirectory: $(System.DefaultWorkingDirectory) + +- pwsh: src/Qir/Runtime/test-qir-runtime.ps1 + displayName: "Test QIR Runtime" + workingDirectory: $(System.DefaultWorkingDirectory) + + # Native Simulator (needed to build and run the QIR tests): +- pwsh: src/Simulation/Native/prerequisites.ps1 + displayName: "Install Native Simulator Prerequisites" + workingDirectory: $(System.DefaultWorkingDirectory) + +- powershell: | + .\build-native-simulator.ps1 + displayName: "Build Native Simulator" + workingDirectory: $(System.DefaultWorkingDirectory)/src/Simulation/Native + + # QIR Tests: +- pwsh: src/Qir/Tests/build-qir-tests.ps1 + displayName: "Build QIR Tests" + workingDirectory: $(System.DefaultWorkingDirectory) + +- pwsh: src/Qir/Tests/test-qir-tests.ps1 + displayName: "Run QIR Tests" + workingDirectory: $(System.DefaultWorkingDirectory) + + # QIR Samples: +- pwsh: src/Qir/Samples/build-qir-samples.ps1 + displayName: "Build QIR Samples" + workingDirectory: $(System.DefaultWorkingDirectory) + +- pwsh: src/Qir/Samples/test-qir-samples.ps1 + displayName: "Run QIR Samples" + workingDirectory: $(System.DefaultWorkingDirectory)