#------------------------------------------------------------------------------------------------------- # Copyright (c) 2021 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.NoJit: image_name: 'ubuntu-20.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-20.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'RelWithDebInfo' libtype_flag: '' Linux.Release: image_name: 'ubuntu-20.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'Release' libtype_flag: '' Ubuntu18.ReleaseWithDebug: image_name: 'ubuntu-18.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'RelWithDebInfo' libtype_flag: '' Ubuntu18.Release: image_name: 'ubuntu-18.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' - script: | cd build ninja check displayName: 'Test' - job: MSVC timeoutInMinutes: 120 pool: vmImage: 'windows-latest' strategy: maxParallel: 4 matrix: x86.Debug: build_type: 'debug' target: 'x86' special_build: '' do_test: true test_tags: '' x86.Test: build_type: 'test' target: 'x86' special_build: '' do_test: true test_tags: '--include-slow' x86.NoJit: build_type: 'debug' target: 'x86' special_build: '"/p:BuildJIT=false"' do_test: true test_tags: '-disablejit' x86.Release: build_type: 'release' target: 'x86' special_build: '' do_test: false test_tags: '' x64.Debug: build_type: 'debug' target: 'x64' special_build: '' do_test: true test_tags: '' x64.Test: build_type: 'test' target: 'x64' special_build: '' do_test: true test_tags: '--include-slow' x64.Release: build_type: 'release' target: 'x64' special_build: '' do_test: false test_tags: '' steps: - script: test\ci.buildone.cmd %TARGET% %BUILD% %SPECIAL% displayName: 'Build' env: TARGET: $(target) BUILD: $(build_type) SPECIAL: $(special_build) - 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}