| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 |
- #-------------------------------------------------------------------------------------------------------
- # Copyright (c) ChakraCore Project Contributors. All rights reserved.
- # Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
- #-------------------------------------------------------------------------------------------------------
- trigger:
- - master
- - release/*
- jobs:
- - job: Style
- timeoutInMinutes: 10
- pool:
- vmImage: 'ubuntu-latest'
- steps:
- - script: tools/StyleChecks/check_copyright.sh
- displayName: "Copyright Check"
- - script: tools/StyleChecks/check_ascii.sh
- displayName: "Ascii Check"
- - script: tools/StyleChecks/check_eol.sh
- displayName: "EOL Check"
- - script: tools/StyleChecks/check_tabs.sh
- displayName: "Tab Check"
- - job: CMake
- timeoutInMinutes: 120
- strategy:
- maxParallel: 6
- matrix:
- Linux.Debug:
- image_name: 'ubuntu-22.04'
- deps: 'sudo apt-get install -y ninja-build clang libicu-dev'
- build_type: 'Debug'
- libtype_flag: ''
- Linux.NoJit:
- image_name: 'ubuntu-22.04'
- deps: 'sudo apt-get install -y ninja-build clang libicu-dev'
- build_type: 'Debug'
- libtype_flag: '-DDISABLE_JIT=ON'
- Linux.ReleaseWithDebug:
- image_name: 'ubuntu-22.04'
- deps: 'sudo apt-get install -y ninja-build clang libicu-dev'
- build_type: 'RelWithDebInfo'
- libtype_flag: ''
- Linux.Release:
- image_name: 'ubuntu-22.04'
- deps: 'sudo apt-get install -y ninja-build clang libicu-dev'
- build_type: 'Release'
- libtype_flag: ''
- Ubuntu20.ReleaseWithDebug:
- image_name: 'ubuntu-20.04'
- deps: 'sudo apt-get install -y ninja-build clang libicu-dev'
- build_type: 'RelWithDebInfo'
- libtype_flag: ''
- Ubuntu20.Release:
- image_name: 'ubuntu-20.04'
- deps: 'sudo apt-get install -y ninja-build clang libicu-dev'
- build_type: 'Release'
- libtype_flag: ''
- OSX.DebugNoICU:
- image_name: 'macOS-latest'
- deps: 'brew install ninja'
- build_type: 'Debug'
- libtype_flag: '-DSTATIC_LIBRARY=ON'
- OSX.ReleaseWithDebug:
- image_name: 'macOS-latest'
- deps: 'brew install ninja icu4c'
- build_type: 'RelWithDebInfo'
- libtype_flag: '-DICU_INCLUDE_PATH=/usr/local/opt/icu4c/include'
- OSX.Release:
- image_name: 'macOS-latest'
- deps: 'brew install ninja icu4c'
- build_type: 'Release'
- libtype_flag: '-DICU_INCLUDE_PATH=/usr/local/opt/icu4c/include'
- pool:
- vmImage: $(image_name)
-
- steps:
- - script: $(deps)
- displayName: 'Install dependencies'
-
- - script: |
- mkdir -p build
- displayName: 'Create build directories'
- - script: |
- cd build
- cmake -GNinja -DCMAKE_BUILD_TYPE=$BUILD_TYPE $LIBTYPE -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang ..
- displayName: CMake
- env:
- BUILD_TYPE: $(build_type)
- LIBTYPE: $(libtype_flag)
- - script: |
- cd build
- ninja
- displayName: 'Build'
- - publish: $(System.DefaultWorkingDirectory)/build/bin
- artifact: $(Agent.JobName)
- - script: |
- cd build
- ninja check
- displayName: 'Test'
- - job: MSVC
- timeoutInMinutes: 120
- strategy:
- maxParallel: 4
- matrix:
- x86.Debug:
- image_name: 'windows-2022'
- build_type: 'debug'
- target: 'x86'
- special_build: ''
- do_test: true
- test_tags: ''
- build_outdir_suffix: ''
- x86.Test:
- image_name: 'windows-2022'
- build_type: 'test'
- target: 'x86'
- special_build: ''
- do_test: true
- test_tags: '--include-slow'
- build_outdir_suffix: ''
- x86.NoJit:
- image_name: 'windows-2022'
- build_type: 'debug'
- target: 'x86'
- special_build: '"/p:BuildJIT=false"'
- do_test: true
- test_tags: '-disablejit'
- build_outdir_suffix: '.NoJIT'
- x86.Release:
- image_name: 'windows-2022'
- build_type: 'release'
- target: 'x86'
- special_build: ''
- do_test: false
- test_tags: ''
- build_outdir_suffix: ''
- x64.Debug:
- image_name: 'windows-2022'
- build_type: 'debug'
- target: 'x64'
- special_build: ''
- do_test: true
- test_tags: ''
- build_outdir_suffix: ''
- x64.Test:
- image_name: 'windows-2022'
- build_type: 'test'
- target: 'x64'
- special_build: ''
- do_test: true
- test_tags: '--include-slow'
- build_outdir_suffix: ''
- x64.Release:
- image_name: 'windows-2022'
- build_type: 'release'
- target: 'x64'
- special_build: ''
- do_test: false
- test_tags: ''
- build_outdir_suffix: ''
- win19.x86.Release:
- image_name: 'windows-2019'
- build_type: 'release'
- target: 'x86'
- special_build: ''
- do_test: false
- test_tags: ''
- build_outdir_suffix: ''
- win19.x64.Release:
- image_name: 'windows-2019'
- build_type: 'release'
- target: 'x64'
- special_build: ''
- do_test: false
- test_tags: ''
- build_outdir_suffix: ''
- pool:
- vmImage: $(image_name)
-
- steps:
- - script: test\ci.buildone.cmd %TARGET% %BUILD% %SPECIAL%
- displayName: 'Build'
- env:
- TARGET: $(target)
- BUILD: $(build_type)
- SPECIAL: $(special_build)
- - publish: $(System.DefaultWorkingDirectory)/Build/VcBuild$(build_outdir_suffix)/bin
- artifact: $(Agent.JobName)
- - script: test\ci.testone.cmd %TARGET% %BUILD% %TEST_TAGS%
- displayName: 'Test'
- condition: eq(variables['do_test'], true)
- env:
- TARGET: $(target)
- BUILD: $(build_type)
- TEST_TAGS: ${test_tags}
|