#------------------------------------------------------------------------------------------------------- # 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/* schedules: - cron: "0 0 * * 1" # At 00:00 on Monday displayName: Weekly Monday Midnight branches: include: - master - release/* always: true 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-24.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'Debug' libtype_flag: '' Linux.NoJit: image_name: 'ubuntu-24.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-24.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'RelWithDebInfo' libtype_flag: '' Linux.Release: image_name: 'ubuntu-24.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'Release' libtype_flag: '' Ubuntu22.ReleaseWithDebug: image_name: 'ubuntu-22.04' deps: 'sudo apt-get install -y ninja-build clang libicu-dev' build_type: 'RelWithDebInfo' libtype_flag: '' Ubuntu22.Release: image_name: 'ubuntu-22.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-2025' build_type: 'debug' target: 'x86' special_build: '' do_test: true test_tags: '' build_outdir_suffix: '' x86.Test: image_name: 'windows-2025' build_type: 'test' target: 'x86' special_build: '' do_test: true test_tags: '--include-slow' build_outdir_suffix: '' x86.NoJit: image_name: 'windows-2025' 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-2025' build_type: 'release' target: 'x86' special_build: '' do_test: false test_tags: '' build_outdir_suffix: '' x64.Debug: image_name: 'windows-2025' build_type: 'debug' target: 'x64' special_build: '' do_test: true test_tags: '' build_outdir_suffix: '' x64.Test: image_name: 'windows-2025' build_type: 'test' target: 'x64' special_build: '' do_test: true test_tags: '--include-slow' build_outdir_suffix: '' x64.Release: image_name: 'windows-2025' build_type: 'release' target: 'x64' special_build: '' do_test: false test_tags: '' build_outdir_suffix: '' win22.x86.Release: image_name: 'windows-2022' build_type: 'release' target: 'x86' special_build: '' do_test: false test_tags: '' build_outdir_suffix: '' win22.x64.Release: image_name: 'windows-2022' 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}