diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b3712909..357942ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -292,16 +292,19 @@ jobs: build_dist: alpine build_type: clang-relsize-lto-ninja-static cross_arch: riscv64 + skip_slow_tests: true - build_arch: amd64 build_dist: alpine build_type: clang-release-ninja-static cross_arch: riscv64 + skip_slow_tests: true - build_arch: amd64 build_dist: alpine build_type: gcc-release-ninja-static cross_arch: riscv64 + skip_slow_tests: true - build_arch: amd64 build_dist: alpine @@ -312,16 +315,19 @@ jobs: build_dist: alpine build_type: clang-relsize-lto-ninja-static cross_arch: i386 + skip_slow_tests: true - build_arch: amd64 build_dist: alpine build_type: clang-release-ninja-static cross_arch: i386 + skip_slow_tests: true - build_arch: amd64 build_dist: alpine build_type: gcc-release-ninja-static cross_arch: i386 + skip_slow_tests: true - build_arch: amd64 build_dist: alpine @@ -332,11 +338,13 @@ jobs: build_dist: alpine build_type: clang-relsize-lto-ninja-static cross_arch: arm + skip_slow_tests: true - build_arch: amd64 build_dist: alpine build_type: clang-release-ninja-static cross_arch: arm + skip_slow_tests: true ######### fails: static_assert(std::atomic::is_always_lock_free); # - build_arch: amd64 @@ -355,6 +363,7 @@ jobs: build_arch: ${{ matrix.build_arch }} build_dist: ${{ matrix.build_dist }} cross_arch: ${{ matrix.cross_arch }} + skip_slow_tests: ${{ matrix.skip_slow_tests || false }} build_from_tarball: true upload_coverage: ${{ matrix.build_type == 'clang-debug-coverage-ninja' }} upload_artifacts: ${{ endsWith(matrix.build_type, '-static') }} diff --git a/.github/workflows/docker-run-build.yml b/.github/workflows/docker-run-build.yml index 7b714259..dccc935c 100644 --- a/.github/workflows/docker-run-build.yml +++ b/.github/workflows/docker-run-build.yml @@ -29,6 +29,10 @@ on: required: false type: boolean default: false + skip_slow_tests: + required: false + type: boolean + default: false permissions: contents: read @@ -72,6 +76,7 @@ jobs: --mount type=bind,source=${HOME}/github-local,target=/local \ --mount type=bind,source=/mnt/opensource/artifacts/dwarfs,target=/artifacts \ ${{ inputs.build_from_tarball && '--env BUILD_FROM_TARBALL=1' || '' }} \ + ${{ inputs.skip_slow_tests && '--env DWARFS_SKIP_SLOW_TESTS=1' || '' }} \ --env BUILD_TYPE=${{ inputs.build_type }} \ --env BUILD_ARCH=${{ inputs.build_arch }} \ --env CROSS_ARCH=${{ inputs.cross_arch }} \ diff --git a/.maintainer-scripts/workflow-tracing.py b/.maintainer-scripts/workflow-tracing.py index b5ee249d..8758f29f 100644 --- a/.maintainer-scripts/workflow-tracing.py +++ b/.maintainer-scripts/workflow-tracing.py @@ -136,7 +136,7 @@ def main(): if args.ninja and step.get("name") == "Run Build": run_id = job.get("run_id", 0) # get arch, dist, config from "linux (arm64v8, alpine, clang-release-ninja-static) / docker-build" - m = re.match(r"linux \(([^,]+), ([^,]+), ([^,]+)(, ([^,]+))?\)", name) + m = re.match(r"linux \(([^,]+), ([^,]+), ([^,]+)(, ([^,]+))?(, true)?\)", name) if m: cross = m.group(5) if m.group(5) else "" build_log_path = f"{args.log_base}/{run_id}/build-{m.group(1)},{cross},{m.group(2)},{m.group(3)}.log" diff --git a/test/block_merger_test.cpp b/test/block_merger_test.cpp index bfa4cbce..beb74f32 100644 --- a/test/block_merger_test.cpp +++ b/test/block_merger_test.cpp @@ -476,6 +476,8 @@ block_merger_test(size_t const max_runs) { } // namespace TEST(block_merger, random) { + DWARFS_SLOW_TEST(); + using merger_type = internal::multi_queue_block_merger; auto max_runs = skip_slow_tests() ? max_runs_regular_quick : max_runs_regular; @@ -487,6 +489,8 @@ TEST(block_merger, random) { } TEST(block_merger, random_sized) { + DWARFS_SLOW_TEST(); + using merger_type = internal::multi_queue_block_merger; @@ -500,6 +504,8 @@ TEST(block_merger, random_sized) { } TEST(block_merger, random_sized_partial) { + DWARFS_SLOW_TEST(); + using merger_type = internal::multi_queue_block_merger; diff --git a/test/tool_main_test.cpp b/test/tool_main_test.cpp index e1f7ff5d..8e5c3289 100644 --- a/test/tool_main_test.cpp +++ b/test/tool_main_test.cpp @@ -2990,6 +2990,8 @@ TEST(mkdwarfs_test, map_file_error) { class map_file_error_test : public testing::TestWithParam {}; TEST_P(map_file_error_test, delayed) { + DWARFS_SLOW_TEST(); + #if defined(__linux__) && defined(__i386__) GTEST_SKIP() << "this test is flaky on i386 Linux (SIGPIPE)"; #endif