From aa32865ff14613f48c9128c736b3dd3ee66a3684 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Fri, 15 Mar 2024 08:31:23 -0700 Subject: [PATCH 1/5] Disable TSAN tests due to what appears to be a sanitizer bug PiperOrigin-RevId: 616138585 --- .github/workflows/test_cpp.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml index 83a1c2fcb4..5e6f3373ef 100644 --- a/.github/workflows/test_cpp.yml +++ b/.github/workflows/test_cpp.yml @@ -21,7 +21,8 @@ jobs: - { name: Debug, flags: --config=dbg } - { name: ASAN, flags: --config=asan, runner: ubuntu-22-large } - { name: MSAN, flags: --config=docker-msan, runner: ubuntu-22-large } - - { name: TSAN, flags: --config=tsan } + # TODO Disable until TSAN bug is resolved + # - { name: TSAN, flags: --config=tsan } - { name: UBSAN, flags: --config=ubsan } - { name: No-RTTI, flags: --cxxopt=-fno-rtti } include: From 892a2ce89a26a1194d28bc4eb288314d1c878bb7 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Fri, 15 Mar 2024 20:19:23 -0700 Subject: [PATCH 2/5] Downgrade our sanitized builds to ubuntu-20. The latest github runner image of ubuntu-22 includes a kernel update that breaks the sanitizers we use in our docker images. Long-term, we'll likely need to upgrade the images to new sanitizers and clang. PiperOrigin-RevId: 616319042 --- .github/workflows/test_cpp.yml | 7 +++---- .github/workflows/test_upb.yml | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml index 5e6f3373ef..129a506eae 100644 --- a/.github/workflows/test_cpp.yml +++ b/.github/workflows/test_cpp.yml @@ -19,10 +19,9 @@ jobs: config: - { name: Optimized, flags: --config=opt } - { name: Debug, flags: --config=dbg } - - { name: ASAN, flags: --config=asan, runner: ubuntu-22-large } - - { name: MSAN, flags: --config=docker-msan, runner: ubuntu-22-large } - # TODO Disable until TSAN bug is resolved - # - { name: TSAN, flags: --config=tsan } + - { name: ASAN, flags: --config=asan, runner: ubuntu-20-large } + - { name: MSAN, flags: --config=docker-msan, runner: ubuntu-20-large } + - { name: TSAN, flags: --config=tsan, runner: ubuntu-20-large } - { name: UBSAN, flags: --config=ubsan } - { name: No-RTTI, flags: --cxxopt=-fno-rtti } include: diff --git a/.github/workflows/test_upb.yml b/.github/workflows/test_upb.yml index ebe59aa7e1..d8c3d1b578 100644 --- a/.github/workflows/test_upb.yml +++ b/.github/workflows/test_upb.yml @@ -19,14 +19,13 @@ jobs: config: - { name: "Fastbuild" } - { name: "Optimized", flags: "-c opt" } - - { name: "FastTable", flags: "--//upb:fasttable_enabled=true" } - - { name: "ASAN", flags: "--config=asan -c dbg", exclude-targets: "-//benchmarks:benchmark -//python/..." } + - { name: "ASAN", flags: "--config=asan -c dbg", exclude-targets: "-//benchmarks:benchmark -//python/...", runner: ubuntu-20-large } - { name: "UBSAN", flags: "--config=ubsan -c dbg", exclude-targets: "-//benchmarks:benchmark -//python/... -//lua/..." } - { name: "32-bit", flags: "--copt=-m32 --linkopt=-m32", exclude-targets: "-//benchmarks:benchmark -//python/..." } # TODO: b/297027295 - Add 32-bit ASAN test name: ${{ matrix.config.name }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.config.runner || 'ubuntu-latest' }} steps: - name: Checkout pending changes From 8ec9a435bf648093dc0900bd7612b2dca80e1d25 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Thu, 27 Jun 2024 12:18:53 -0700 Subject: [PATCH 3/5] Upgrade our C++ release tests to large runners. PiperOrigin-RevId: 647405381 --- .github/workflows/test_cpp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml index 129a506eae..bbf4300313 100644 --- a/.github/workflows/test_cpp.yml +++ b/.github/workflows/test_cpp.yml @@ -77,7 +77,7 @@ jobs: matrix: arch: [x86_64, aarch64] name: Linux Release ${{ matrix.arch}} - runs-on: ubuntu-latest + runs-on: ubuntu-20-large steps: - name: Checkout pending changes uses: protocolbuffers/protobuf-ci/checkout@v2 From c73d6c8d2e4f8c0068fde63b2077dcd9a64a1e02 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Mon, 8 Jul 2024 13:41:23 -0700 Subject: [PATCH 4/5] Use explicit names of our large runners PiperOrigin-RevId: 650360525 --- .github/workflows/test_cpp.yml | 8 ++++---- .github/workflows/test_upb.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml index bbf4300313..4d3ea0f66f 100644 --- a/.github/workflows/test_cpp.yml +++ b/.github/workflows/test_cpp.yml @@ -19,9 +19,9 @@ jobs: config: - { name: Optimized, flags: --config=opt } - { name: Debug, flags: --config=dbg } - - { name: ASAN, flags: --config=asan, runner: ubuntu-20-large } - - { name: MSAN, flags: --config=docker-msan, runner: ubuntu-20-large } - - { name: TSAN, flags: --config=tsan, runner: ubuntu-20-large } + - { name: ASAN, flags: --config=asan, runner: ubuntu-20-4core } + - { name: MSAN, flags: --config=docker-msan, runner: ubuntu-20-4core } + - { name: TSAN, flags: --config=tsan, runner: ubuntu-20-4core } - { name: UBSAN, flags: --config=ubsan } - { name: No-RTTI, flags: --cxxopt=-fno-rtti } include: @@ -77,7 +77,7 @@ jobs: matrix: arch: [x86_64, aarch64] name: Linux Release ${{ matrix.arch}} - runs-on: ubuntu-20-large + runs-on: ubuntu-20-4core steps: - name: Checkout pending changes uses: protocolbuffers/protobuf-ci/checkout@v2 diff --git a/.github/workflows/test_upb.yml b/.github/workflows/test_upb.yml index d8c3d1b578..e25fa60dc4 100644 --- a/.github/workflows/test_upb.yml +++ b/.github/workflows/test_upb.yml @@ -19,7 +19,7 @@ jobs: config: - { name: "Fastbuild" } - { name: "Optimized", flags: "-c opt" } - - { name: "ASAN", flags: "--config=asan -c dbg", exclude-targets: "-//benchmarks:benchmark -//python/...", runner: ubuntu-20-large } + - { name: "ASAN", flags: "--config=asan -c dbg", exclude-targets: "-//benchmarks:benchmark -//python/...", runner: ubuntu-20-4core } - { name: "UBSAN", flags: "--config=ubsan -c dbg", exclude-targets: "-//benchmarks:benchmark -//python/... -//lua/..." } - { name: "32-bit", flags: "--copt=-m32 --linkopt=-m32", exclude-targets: "-//benchmarks:benchmark -//python/..." } # TODO: b/297027295 - Add 32-bit ASAN test From 27041afb837fc48b01889ea3efea2b98b99cccb7 Mon Sep 17 00:00:00 2001 From: Mike Kruskal Date: Mon, 1 Jul 2024 17:00:02 -0700 Subject: [PATCH 5/5] Upgrade macos-11 tests to macos-12 Github dropped macos-11 on their runners on June 28th. This causes all our jobs to stall looking for a suitable runner. PiperOrigin-RevId: 648527302 --- .github/workflows/test_upb.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_upb.yml b/.github/workflows/test_upb.yml index e25fa60dc4..27f909a2ec 100644 --- a/.github/workflows/test_upb.yml +++ b/.github/workflows/test_upb.yml @@ -171,11 +171,11 @@ jobs: - { os: ubuntu-latest, python-version: "3.8", architecture: x64, type: 'binary' } - { os: macos-11, python-version: "3.8", architecture: x64, type: 'binary' } - { os: ubuntu-latest, python-version: "3.11", architecture: x64, type: 'binary' } - - { os: macos-12, python-version: "3.11", architecture: x64, type: 'binary' } + - { os: macos-11, python-version: "3.11", architecture: x64, type: 'binary' } - { os: ubuntu-latest, python-version: "3.8", architecture: x64, type: 'source' } - { os: macos-11, python-version: "3.8", architecture: x64, type: 'source' } - { os: ubuntu-latest, python-version: "3.11", architecture: x64, type: 'source' } - - { os: macos-12, python-version: "3.11", architecture: x64, type: 'source' } + - { os: macos-11, python-version: "3.11", architecture: x64, type: 'source' } # Windows uses the full API up until Python 3.10, so each of these # jobs tests a distinct binary wheel.