|
- # Refer: https://aka.ms/yaml
-
- variables:
- shouldDeploy: >
- ${{ or(
- eq(variables.Build.SourceBranch, 'refs/heads/develop'),
- eq(variables.Build.SourceBranch, 'refs/heads/master')
- ) }}
-
- stages:
- - stage: build_test
- displayName: Build and Test
- jobs:
- - job: win_vs2019
- displayName: Windows - VS 2019
- pool:
- vmImage: windows-2019
- steps:
- - script: |
- echo Loading VS environment
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\vsdevcmd" -arch=x64 || exit 1
- echo Executing Build and Tests
- reg add HKLM\SYSTEM\CurrentControlSet\Control\FileSystem /v LongPathsEnabled /t REG_DWORD /d 1 /f || exit 1
- python -m pip install pytest pytest-xdist || exit 1
- python -u tools/ci.py -B download -T tools\msvc.jsonc || exit 1
- move _build\dds.exe _build\dds-win-x64.exe || exit 1
- displayName: Build and Test
- - publish: _build\dds-win-x64.exe
- displayName: Publish
- artifact: dds-win-x64
-
- - job: linux_gcc9
- displayName: Linux - GCC 9
- pool:
- vmImage: ubuntu-18.04
- steps:
- - script: |
- set -eu
- sudo apt update -y
- sudo apt install -y python3-minimal g++-9 ccache
- python3 -m pip install pytest pytest-xdist
- displayName: Prepare System
- - script: make linux-ci
- displayName: Build and Test
- - publish: _build/dds-linux-x64
- displayName: Publish
- artifact: dds-linux-x64
-
- - job: macos_gcc9
- displayName: macOS - GCC 9
- pool:
- vmImage: macOS-10.14
- steps:
- - script: brew install gcc@9 ccache
- displayName: Prepare System
- - script: |
- set -eu
- python3 -m pip install pytest pytest-xdist
- make macos-ci
- displayName: Build and Test
- - publish: _build/dds-macos-x64
- displayName: Publish
- artifact: dds-macos-x64
-
- - stage: deploy_build
- displayName: Deploy
- condition: eq(variables.shouldDeploy, true)
- jobs:
- - job: deploy
- displayName: Deploy for ${{variables.Build.SourceBranchName}}
- condition: succeeded()
- steps:
- - task: DownloadPipelineArtifact@2
- displayName: Download builds
- inputs:
- targetPath: art/
- - task: CopyFilesOverSSH@0
- displayName: Post builds
- inputs:
- sshEndpoint: dds.pizza
- sourceFolder: art/
- targetFolder: ~/${{variables.Build.SourceBranchName}}/
- failOnEmptySource: true
- overwrite: true
- # - job: deploy
- # displayName: Deploy Canary
- # # Only deploy the "canary" build when we are on the 'develop' branch
- # condition: and(succeeded(), eq(variables.Build.SourceBranchName, 'develop'))
- # steps:
- # - task: DownloadPipelineArtifact@2
- # displayName: Download builds
- # inputs:
- # targetPath: art/
- # - task: CopyFilesOverSSH@0
- # displayName: Post builds
- # inputs:
- # sshEndpoint: dds.pizza
- # sourceFolder: art/
- # targetFolder: ~/canary/
- # failOnEmptySource: true
- # overwrite: true
|