name: C++ Tests

on:
  workflow_call:
    inputs:
      continuous-run:
        required: true
        description: "Boolean string denoting whether this run is continuous --
          empty string for presubmit, non-empty string for continuous."
        type: string
      safe-checkout:
        required: true
        description: "The SHA key for the commit we want to run over"
        type: string
      continuous-prefix:
        required: true
        description: "The string continuous-only tests should be prefixed with when displaying test
          results."
        type: string


permissions:
  contents: read

jobs:
  linux:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        config:
          - { name: Optimized, flags: --config=opt }
          - { name: Debug, flags: --config=dbg, continuous-only: true }
          - { name: ASAN, flags: --config=asan, runner: ubuntu-22-4core }
          - { name: MSAN, flags: --config=docker-msan, runner: ubuntu-22-4core, continuous-only: true }
          - { name: TSAN, flags: --config=tsan, runner: ubuntu-22-4core, continuous-only: true }
          - { name: UBSAN, flags: --config=ubsan, runner: ubuntu-22-4core, continuous-only: true,}
          - { name: No-RTTI, flags: --cxxopt=-fno-rtti, continuous-only: true }
        include:
          # Set defaults
          - image: us-docker.pkg.dev/protobuf-build/containers/test/linux/sanitize:8.0.1-b77fdae6d4771789dfc66a56bf8d806354e8011a
          - targets: //pkg/... //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
          # Override cases with custom images
          - config: { name: "Bazel7", flags: --cxxopt="-Wno-self-assign-overloaded" }
            cache_key: Bazel7bzlmod
            image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604"
            targets: "//src/... //third_party/utf8_range/..."
          - config: { name: "Bazel8", flags: --cxxopt="-Wno-self-assign-overloaded" }
            cache_key: Bazel8
            image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:8.0.1-e78301df86b3e4c46ec9ac4d98be00e19305d8f3"
            targets: "//src/... //third_party/utf8_range/..."
          - config: { name: "TCMalloc" }
            cache_key: TcMalloc
            image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/tcmalloc:8.0.1-b77fdae6d4771789dfc66a56bf8d806354e8011a"
            targets: "//src/... //third_party/utf8_range/..."
          - config: { name: "aarch64", flags: "--platforms=//build_defs:aarch64_linux" }
            cache_key: aarch64-bazel8
            targets: "//src/... //src/google/protobuf/compiler:protoc_aarch64_test //third_party/utf8_range/..."
            image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:7.6.1-aarch64-f0d1e209ed9369f69d93ce418990ecff3aa08d6f" #TODO: b/409557730 - upgrade to bazel 8
    name: ${{ matrix.config.continuous-only && inputs.continuous-prefix || '' }} Linux ${{ matrix.config.name }}
    runs-on: ${{ matrix.config.runner || 'ubuntu-latest' }}
    steps:
      - name: Checkout pending changes
        if: ${{ !matrix.config.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        if: ${{ !matrix.config.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/bazel-docker@v5
        with:
          image: ${{ matrix.image }}
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel-cache: cpp_linux/${{ matrix.cache_key }}
          bazel: test ${{ matrix.targets }} ${{ matrix.config.flags }}
          exclude-targets: ${{ matrix.exclude-targets }}

  linux-gcc:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        version: ['7.5', '9.1', '9.5', '13.1']
        include:
          - version: 9.1
            continuous-only: true
          - version: 9.5
            continuous-only: true
    name: ${{ matrix.config.continuous-only && inputs.continuous-prefix || '' }} Linux GCC ${{ matrix.version }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v5
        if: ${{ !matrix.config.continuous-only || inputs.continuous-run }}
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        uses: protocolbuffers/protobuf-ci/bazel-docker@v5
        if: ${{ !matrix.config.continuous-only || inputs.continuous-run }}
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:8.0.1-${{ matrix.version }}-e78301df86b3e4c46ec9ac4d98be00e19305d8f3
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel-cache: cpp_linux/gcc-${{ matrix.version }}
          bazel: test //pkg/... //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests

  linux-release:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        arch: [x86_64, aarch64]
        include:
          - arch: aarch64
            continuous-only: true
    name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Linux Release ${{ matrix.arch }}
    runs-on: ubuntu-22-4core
    steps:
      - name: Checkout pending changes
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Cross compile protoc for ${{ matrix.arch }}
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        id: cross-compile
        uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v5
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.6.1-e0df73e51131ccaf53451355d22577f377357604 #TODO: b/409557730 - upgrade to bazel 8
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          architecture: linux-${{ matrix.arch }}
      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v5
        with:
          cache-prefix: linux-release-${{ matrix.arch }}
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
      - name: Run tests
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/docker@v5
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:8.0.1-${{ matrix.arch }}-168f9c9d015a0fa16611e1e9eede796fe9bfbb69
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          entrypoint: bash
          command: >
            -c "set -ex;
            sccache -z;
            cmake . -DWITH_PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
            -Dprotobuf_BUILD_TESTS=ON
            -Dprotobuf_BUILD_CONFORMANCE=ON -DCMAKE_CXX_STANDARD=17
            -Dprotobuf_WITH_ZLIB=OFF ${{ env.SCCACHE_CMAKE_FLAGS }};
            cmake --build . --parallel 20;
            ctest --no-tests=error --parallel 20;
            sccache -s"

  linux-cmake:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        include:
          - flags: -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_CONFORMANCE=ON
          - name: Ninja
            flags: -G Ninja -DCMAKE_CXX_STANDARD=17
            continuous-only: true
          - name: Shared
            flags: -Dprotobuf_BUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_CXX_STANDARD=17
            continuous-only: true
          - name: C++20
            flags: -DCMAKE_CXX_STANDARD=20
          - name: Package
            flags: -DCMAKE_CXX_STANDARD=17 -Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON
          - name: Fetch
            flags: -DCMAKE_CXX_STANDARD=17 -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON

    name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Linux CMake ${{ matrix.name}}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v5
        with:
          cache-prefix: linux-cmake
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}

      - name: Run tests
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/docker@v5
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-9626718698895971df3953d4aa2321d7425f3c5f
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            /test.sh ${{ matrix.flags}} ${{ env.SCCACHE_CMAKE_FLAGS }}
            -Dprotobuf_BUILD_TESTS=ON ${{ matrix.package_flags }}

  linux-cmake-install:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        type: [package, static, fetch]
        include:
          # Set defaults
          - type: package
            name: Install
            flags: -Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON -Dprotobuf_BUILD_SHARED_LIBS=ON
          - type: static
            name: Install (static)
            flags: -Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON -Dprotobuf_BUILD_SHARED_LIBS=OFF
          - type: fetch
            name: Install (Fetch)
            flags: -Dprotobuf_FORCE_FETCH_DEPENDENCIES=ON -Dprotobuf_BUILD_SHARED_LIBS=ON
            continuous-only: true
    name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }}Linux CMake ${{ matrix.name }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v5
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        uses: protocolbuffers/protobuf-ci/sccache@v5
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        with:
          cache-prefix: linux-cmake-install
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}

      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v5
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-9626718698895971df3953d4aa2321d7425f3c5f
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            /install.sh -DCMAKE_CXX_STANDARD=17 ${{ env.SCCACHE_CMAKE_FLAGS }}
            ${{ matrix.flags }}
            \&\&
            cp build/install_manifest.txt .
            \&\&
            /test.sh
            ${{ env.SCCACHE_CMAKE_FLAGS }}
            -Dprotobuf_REMOVE_INSTALLED_HEADERS=ON
            -Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF
            -Dprotobuf_BUILD_CONFORMANCE=ON
            -DCMAKE_CXX_STANDARD=17
            ${{ matrix.flags }}

      - name: Clean up install manifest
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        run: |
          set -ex
          mkdir manifest
          cat install_manifest.txt | sort | sed 's:/usr/local/::g' > manifest/all.txt
          cat manifest/all.txt | grep -E '^include/' | grep -vE 'internal' | sed 's:^include/::g' > manifest/include.txt
          cat manifest/all.txt | grep -E '^bin/' | grep -vE '\-[0-9]+\.[0-9]+\.[0-9]+$' | sed 's:^bin/::g' > manifest/bin.txt
          cat manifest/all.txt | grep -E '^lib/' | grep -vE '\.[0-9]+\.[0-9]+\.[0-9]+$' | sed 's:^lib/::g' > manifest/lib.txt

      - name: Upload install manifest
        uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        with:
          name: installed_files_${{ matrix.type }}
          path: manifest/*.txt

  install-manifests:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        type: [include, bin, lib]
        build: [static, package]
        include:
            - type: lib
              build: static
              golden: 'lib_static'
            - type: lib
              build: package
              golden: 'lib_shared'
    name: Check Installed Files
    needs: linux-cmake-install
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Download manifest
        uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 #4.1.8
        with:
          name: installed_files_${{ matrix.build }}
          path: ${{ matrix.build }}
      
      - name: Compare against golden
        run: |
          set +e
          GOLDEN_FILE=cmake/installed_${{ matrix.golden || matrix.type }}_golden.txt
          DIFF="$(diff -u ${GOLDEN_FILE} ${{ matrix.build }}/${{ matrix.type }}.txt)"
          if [ -n "$DIFF" ]; then
            echo "Installed files do not match goldens!"
            echo "If this is expected, please update the golden file: ${GOLDEN_FILE}"
            echo "The following diffs were found:"
            echo "$DIFF"
            exit 1
          else
            echo "Installed files match goldens."
          fi

  # This test should always be skipped on presubmit
  linux-cmake-examples:
    name: ${{ inputs.continuous-prefix }} Linux CMake Examples
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        if: ${{ inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        if: ${{ inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v5
        with:
          cache-prefix: linux-cmake-examples
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}

      - name: Run tests
        if: ${{ inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/docker@v5
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-9626718698895971df3953d4aa2321d7425f3c5f
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            /install.sh -DCMAKE_CXX_STANDARD=17 ${{ env.SCCACHE_CMAKE_FLAGS }}
            -Dprotobuf_LOCAL_DEPENDENCIES_ONLY=OFF
            -Dprotobuf_BUILD_EXAMPLES=OFF -Dprotobuf_BUILD_TESTS=ON \&\&
            mkdir examples/build \&\&
            cd examples/build \&\&
            cmake .. -DCMAKE_CXX_STANDARD=17 \&\&
            cmake --build .

  linux-cmake-gcc:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        include:
          - name: C++17
            flags: -DCMAKE_CXX_STANDARD=17
            continuous-only: true
          - name: C++20
            flags: -DCMAKE_CXX_STANDARD=20

    name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} Linux CMake GCC ${{ matrix.name }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v5
        with:
          cache-prefix: linux-cmake-gcc
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}

      - name: Run tests
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/docker@v5
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:8.0.1-12.2-168f9c9d015a0fa16611e1e9eede796fe9bfbb69
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          entrypoint: bash
          command: >-
              -c 'set -ex;
              cd /workspace;
              sccache -z;
              cmake . -Dprotobuf_BUILD_TESTS=ON ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }};
              cmake --build . --parallel 20;
              ctest --no-tests=error --verbose --parallel 20;
              sccache -s'

  linux-cmake-32-bit:
    name: Linux CMake 32-bit
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        uses: protocolbuffers/protobuf-ci/sccache@v5
        with:
          cache-prefix: linux-cmake-32-bit
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}

      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v5
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:d6028ab408c49932836cdc514116f06886d7f6868a4d430630aa52adc5aee2fc
          platform: linux/386
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          entrypoint: bash
          command: >-
              -c 'set -ex;
              cd /workspace;
              sccache -z;
              cmake . -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_TESTS=ON ${{ env.SCCACHE_CMAKE_FLAGS }};
              cmake --build . --parallel 20;
              ctest --no-tests=error --verbose --parallel 20;
              sccache -s'

  non-linux:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        include:
          - name: MacOS Bazel
            os: macos-14
            cache_key: macos-14-bazel8
            bazel: test //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
          - name: MacOS Intel Bazel
            os: macos-14
            cache_key: macos-14-intel
            bazel: test --cpu=darwin_x86_64 //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
          - name: Windows Bazel
            os: windows-2022
            cache_key: windows-2022-msvc-cl
            bazel: test //src/...  --config=msvc-cl --test_tag_filters=-conformance --build_tag_filters=-conformance
          - name: Windows Bazel C++20
            os: windows-2022
            cache_key: windows-2022-msvc-cl
            bazel: test //src/...  --config=msvc-cl --cxxopt="-std:c++20" --test_tag_filters=-conformance --build_tag_filters=-conformance
          - name: Windows Bazel clang-cl
            os: windows-2022
            cache_key: windows-2022-clang-cl
            bazel: test //src/...  --test_tag_filters=-conformance --build_tag_filters=-conformance
    name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} ${{ matrix.name }}
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout pending changes
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/bazel@v5
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel: ${{ matrix.bazel }}
          bazel-cache: cpp_${{ matrix.cache_key }}
          version: ${{ matrix.bazel_version || '8.0.1' }}

  non-linux-cmake:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        include:
          - name: MacOS CMake
            os: macos-14
            cache-prefix: macos-cmake
            continuous-only: true
          - name: Windows CMake
            os: windows-2022
            flags: >-
              -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
              -Dprotobuf_BUILD_SHARED_LIBS=OFF
              -Dprotobuf_BUILD_EXAMPLES=ON
            vsversion: '2022'
            cache-prefix: windows-2022-cmake
          - name: Windows CMake 32-bit
            os: windows-2022
            flags: >-
              -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
            vsversion: '2022'
            windows-arch: 'win32'
            cache-prefix: windows-2022-win32-cmake
            continuous-only: true
          - name: Windows CMake Shared
            os: windows-2022
            flags: >-
              -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
              -Dprotobuf_BUILD_SHARED_LIBS=ON
            vsversion: '2022'
            cache-prefix: windows-2022-cmake
          - name: Windows CMake Install
            os: windows-2022
            install-flags: >-
              -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
            flags: >-
              -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
              -Dprotobuf_REMOVE_INSTALLED_HEADERS=ON
              -Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF
            vsversion: '2022'
            cache-prefix: windows-2022-cmake
            continuous-only: true
    name: ${{ matrix.continuous-only && inputs.continuous-prefix || '' }} ${{ matrix.name }}
    runs-on: ${{ matrix.os }}
    steps:
      - name: Checkout pending changes
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/checkout@v5
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup MSVC
        if: ${{ runner.os == 'Windows' && (!matrix.continuous-only || inputs.continuous-run) }}
        uses: ilammy/msvc-dev-cmd@cec98b9d092141f74527d0afa6feb2af698cfe89 # v1.12.1
        with:
          arch: ${{ matrix.windows-arch || 'x64' }}
          vsversion: ${{ matrix.vsversion }}

      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v5
        with:
          cache-prefix: ${{ matrix.cache-prefix }}
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}

      # Install phase.
      - name: Configure CMake for install
        if: ${{ matrix.install-flags && (!matrix.continuous-only || inputs.continuous-run) }}
        uses: protocolbuffers/protobuf-ci/bash@v5
        with:
          bazel-version: 8.0.1
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            cmake . -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_TESTS=ON ${{ matrix.install-flags }}
            ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON
      - name: Build for install
        if: ${{ matrix.install-flags && (!matrix.continuous-only || inputs.continuous-run) }}
        shell: bash
        run: VERBOSE=1 cmake --build . --parallel 20
      - name: Install
        if: ${{ matrix.install-flags && (!matrix.continuous-only || inputs.continuous-run) }}
        shell: bash
        run: cmake --build . --target install
      - name: Report and clear sccache stats
        if: ${{ matrix.install-flags && (!matrix.continuous-only || inputs.continuous-run) }}
        shell: bash
        run: sccache -s && sccache -z
      - name: Clear CMake cache
        if: ${{ matrix.install-flags && (!matrix.continuous-only || inputs.continuous-run) }}
        shell: bash
        run: cmake --build . --target clean && rm CMakeCache.txt

      - name: Configure CMake
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/bash@v5
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel-version: 8.0.1
          command: >-
            cmake . -DCMAKE_CXX_STANDARD=17 -Dprotobuf_BUILD_TESTS=ON ${{ matrix.flags }}
            ${{ env.SCCACHE_CMAKE_FLAGS }} -Dprotobuf_ALLOW_CCACHE=ON

      - name: Build
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        shell: bash
        run: VERBOSE=1 cmake --build . --parallel 20

      - name: Test
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        shell: bash
        run: ctest --no-tests=error --verbose --parallel 20 -C Debug

      - name: Report sccache stats
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        shell: bash
        run: sccache -s
