From 6b7f3d01ae3ea2c6535b72339f1023ab426c40fd Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 11 Sep 2018 20:53:28 -0400 Subject: ci: build zig in release mode It makes sense to test release mode, plus we're up against the time limits of CI, so this should make room. --- ci/travis_linux_script | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ci/travis_linux_script') diff --git a/ci/travis_linux_script b/ci/travis_linux_script index f2f4bd95d3..f823429a4c 100755 --- a/ci/travis_linux_script +++ b/ci/travis_linux_script @@ -8,7 +8,7 @@ export CXX=clang++-6.0 echo $PATH mkdir build cd build -cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd) +cmake .. -DCMAKE_BUILD_TYPE=Release make -j2 install ./zig build --build-file ../build.zig test -- cgit v1.2.3 From 869475c110c583e641c26f9dfe670132d2e0901e Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Wed, 12 Sep 2018 14:50:26 -0400 Subject: ci: skip release-small tests to save time we keep hitting the limit on how long CI tests take to run. --- build.zig | 27 ++++++++++++++++++++------- ci/appveyor/build_script.bat | 2 +- ci/travis_linux_script | 2 +- ci/travis_osx_script | 2 +- 4 files changed, 23 insertions(+), 10 deletions(-) (limited to 'ci/travis_linux_script') diff --git a/build.zig b/build.zig index e886377139..0bb4808dc5 100644 --- a/build.zig +++ b/build.zig @@ -62,6 +62,9 @@ pub fn build(b: *Builder) !void { b.default_step.dependOn(&exe.step); const skip_release = b.option(bool, "skip-release", "Main test suite skips release builds") orelse false; + const skip_release_small = b.option(bool, "skip-release-small", "Main test suite skips release-small builds") orelse skip_release; + const skip_release_fast = b.option(bool, "skip-release-fast", "Main test suite skips release-fast builds") orelse skip_release; + const skip_release_safe = b.option(bool, "skip-release-safe", "Main test suite skips release-safe builds") orelse skip_release; const skip_self_hosted = b.option(bool, "skip-self-hosted", "Main test suite skips building self hosted compiler") orelse false; if (!skip_self_hosted) { test_step.dependOn(&exe.step); @@ -83,13 +86,23 @@ pub fn build(b: *Builder) !void { test_step.dependOn(test_stage2_step); } - const all_modes = []builtin.Mode{ - builtin.Mode.Debug, - builtin.Mode.ReleaseSafe, - builtin.Mode.ReleaseFast, - builtin.Mode.ReleaseSmall, - }; - const modes = if (skip_release) []builtin.Mode{builtin.Mode.Debug} else all_modes; + var chosen_modes: [4]builtin.Mode = undefined; + var chosen_mode_index: usize = 0; + chosen_modes[chosen_mode_index] = builtin.Mode.Debug; + chosen_mode_index += 1; + if (!skip_release_safe) { + chosen_modes[chosen_mode_index] = builtin.Mode.ReleaseSafe; + chosen_mode_index += 1; + } + if (!skip_release_fast) { + chosen_modes[chosen_mode_index] = builtin.Mode.ReleaseFast; + chosen_mode_index += 1; + } + if (!skip_release_small) { + chosen_modes[chosen_mode_index] = builtin.Mode.ReleaseSmall; + chosen_mode_index += 1; + } + const modes = chosen_modes[0..chosen_mode_index]; test_step.dependOn(tests.addPkgTests(b, test_filter, "test/behavior.zig", "behavior", "Run the behavior tests", modes)); diff --git a/ci/appveyor/build_script.bat b/ci/appveyor/build_script.bat index 9aee7a7bf0..f2d217894f 100644 --- a/ci/appveyor/build_script.bat +++ b/ci/appveyor/build_script.bat @@ -23,4 +23,4 @@ cd %ZIGBUILDDIR% cmake.exe .. -Thost=x64 -G"Visual Studio 14 2015 Win64" "-DCMAKE_INSTALL_PREFIX=%ZIGBUILDDIR%" "-DCMAKE_PREFIX_PATH=%ZIGPREFIXPATH%" -DCMAKE_BUILD_TYPE=Release || exit /b msbuild /p:Configuration=Release INSTALL.vcxproj || exit /b -bin\zig.exe build --build-file ..\build.zig test || exit /b +bin\zig.exe build --build-file ..\build.zig test -Dskip-release-small || exit /b diff --git a/ci/travis_linux_script b/ci/travis_linux_script index f823429a4c..8c8eafe1db 100755 --- a/ci/travis_linux_script +++ b/ci/travis_linux_script @@ -10,7 +10,7 @@ mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release make -j2 install -./zig build --build-file ../build.zig test +./zig build --build-file ../build.zig test -Dskip-release-small if [ "${TRAVIS_PULL_REQUEST}" = "false" ]; then mkdir $TRAVIS_BUILD_DIR/artifacts diff --git a/ci/travis_osx_script b/ci/travis_osx_script index 7fa54d26fd..1c9d809986 100755 --- a/ci/travis_osx_script +++ b/ci/travis_osx_script @@ -9,4 +9,4 @@ cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/llvm@6/ -DCMAKE_BUILD_TYPE=Release make VERBOSE=1 make install -./zig build --build-file ../build.zig test +./zig build --build-file ../build.zig test -Dskip-release-small -- cgit v1.2.3