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:6.4.0-27cf7b86212020d7e552bc13b1e084abb971da75
          - targets: //pkg/... //src/... @com_google_protobuf_examples//... //third_party/utf8_range/... //conformance:conformance_framework_tests

          # Override cases with custom images
          - config: { name: "Bazel7", flags: --noenable_bzlmod }
            cache_key: Bazel7
            image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.2-cf84e92285ca133b9c8104ad7b14d70e953cbb8e"
            targets: "//src/... //third_party/utf8_range/..."
            # TODO: remove -Wno-unreachable-code" when dropping C++14
          - config: { name: "Bazel7 with Bzlmod", flags: --enable_bzlmod --enable_workspace --per_file_copt=.*/absl/strings/string_view.h@-Wno-unreachable-code --cxxopt="-Wno-self-assign-overloaded" }
            cache_key: Bazel7bzlmod
            image: "us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:7.1.2-cf84e92285ca133b9c8104ad7b14d70e953cbb8e"
            targets: "//src/... //third_party/utf8_range/..."
          - config: { name: "TCMalloc" }
            cache_key: TcMalloc
            image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/tcmalloc:6.4.0-27cf7b86212020d7e552bc13b1e084abb971da75"
            targets: "//src/... //third_party/utf8_range/..."
          - config: { name: "aarch64" }
            cache_key: TcMalloc
            targets: "//src/... //src/google/protobuf/compiler:protoc_aarch64_test //third_party/utf8_range/..."
            image: "us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:6.4.0-aarch64-08714ed7a713068c8418003a2d95f423d4b1eac9"
    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@v3
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        if: ${{ !matrix.config.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/bazel-docker@v3
        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: ['9.5', '13.1']
    name: Linux GCC ${{ matrix.version }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v3
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        uses: protocolbuffers/protobuf-ci/bazel-docker@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:6.4.0-${{ matrix.version }}-27cf7b86212020d7e552bc13b1e084abb971da75
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel-cache: cpp_linux/gcc-${{ matrix.version }}
          bazel: test //pkg/... //src/... @com_google_protobuf_examples//... //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]
    name: Linux Release ${{ matrix.arch}}
    runs-on: ubuntu-20-4core
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v3
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Cross compile protoc for ${{ matrix.arch }}
        id: cross-compile
        uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.4.0-cf84e92285ca133b9c8104ad7b14d70e953cbb8e
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          architecture: linux-${{ matrix.arch }}
      - name: Setup sccache
        uses: protocolbuffers/protobuf-ci/sccache@v3
        with:
          cache-prefix: linux-release-${{ matrix.arch }}
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/emulation:6.4.0-${{ matrix.arch }}-08714ed7a713068c8418003a2d95f423d4b1eac9
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          entrypoint: bash
          command: >
            -c "set -ex;
            sccache -z;
            cmake . -DWITH_PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
            -Dprotobuf_BUILD_LIBUPB=OFF -Dprotobuf_BUILD_CONFORMANCE=ON -DCMAKE_CXX_STANDARD=17
            -Dprotobuf_WITH_ZLIB=OFF ${{ env.SCCACHE_CMAKE_FLAGS }};
            cmake --build . --parallel 20;
            ctest --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
          - 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@v3
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v3
        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@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-d9624f2aa83cba3eaf906f751d75b36aacb9aa82
          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, fetch]
        include:
          # Set defaults
          - type: package
            name: Install
            flags: -Dprotobuf_LOCAL_DEPENDENCIES_ONLY=ON
          - type: fetch
            name: Install (Fetch)
            flags: -Dprotobuf_FORCE_FETCH_DEPENDENCIES=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@v3
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        uses: protocolbuffers/protobuf-ci/sccache@v3
        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@v3
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-d9624f2aa83cba3eaf906f751d75b36aacb9aa82
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            /install.sh -DCMAKE_CXX_STANDARD=17 ${{ env.SCCACHE_CMAKE_FLAGS }}
            ${{ matrix.flags }}
            -Dprotobuf_BUILD_SHARED_LIBS=ON \&\&
            /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 }}

  # 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@v3
        with:
          ref: ${{ inputs.safe-checkout }}

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

      - name: Run tests
        if: ${{ inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/docker@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake:3.16.9-d9624f2aa83cba3eaf906f751d75b36aacb9aa82
          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 \&\&
            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@v3
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v3
        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@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/gcc:6.4.0-12.2-27cf7b86212020d7e552bc13b1e084abb971da75
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          entrypoint: bash
          command: >-
              -c 'set -ex;
              cd /workspace;
              sccache -z;
              cmake . ${{ matrix.flags }} ${{ env.SCCACHE_CMAKE_FLAGS }};
              cmake --build . --parallel 20;
              ctest --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@v3
        with:
          ref: ${{ inputs.safe-checkout }}

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

      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v3
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:d6028ab408c49932836cdc514116f06886d7f6868a4d430630aa52adc5aee2fc
          platform: linux/386
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
              /bin/bash -cex '
              cd /workspace;
              sccache -z;
              cmake . -DCMAKE_CXX_STANDARD=17 ${{ env.SCCACHE_CMAKE_FLAGS }};
              cmake --build . --parallel 20;
              ctest --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-13
            cache_key: macos-13
            bazel: test //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
          - name: MacOS Bazel 7
            os: macos-13
            cache_key: macos-13-bazel7
            bazel: test //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
            bazel_version: '7.1.2'
            continuous-only: true
          - name: MacOS Apple Silicon (build only) Bazel
            os: macos-13
            cache_key: macos-13-arm
            # Current github runners are all Intel based, so just build/compile
            # for Apple Silicon to detect issues there.
            bazel: build --cpu=darwin_arm64 //src/... //third_party/utf8_range/... //conformance:conformance_framework_tests
          - name: Windows Bazel
            os: windows-2022
            cache_key: windows-2022
            bazel: test //src/...  @com_google_protobuf_examples//... --test_tag_filters=-conformance --build_tag_filters=-conformance
          - name: Windows Bazel 7 
            os: windows-2022
            cache_key: windows-2022-bazel7
            bazel: test //src/...  @com_google_protobuf_examples//... --test_tag_filters=-conformance --build_tag_filters=-conformance
            bazel_version: '7.1.2'
            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@v3
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Run tests
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/bazel@v3
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel: ${{ matrix.bazel }}
          bazel-cache: cpp_${{ matrix.cache_key }}
          version: ${{ matrix.bazel_version || '6.4.0' }}

  non-linux-cmake:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        include:
          - name: MacOS CMake
            os: macos-13
            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 2019
            os: windows-2019
            flags: >-
              -G Ninja -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_CONFORMANCE=OFF
              -Dprotobuf_BUILD_SHARED_LIBS=OFF
              -Dprotobuf_BUILD_EXAMPLES=ON
            vsversion: '2019'
            cache-prefix: windows-2019-cmake
            # windows-2019 has python3.7 installed, which is incompatible with the latest gcloud
            python-version: '3.9'
            continuous-only: true
          - 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@v3
        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 }}

      # Workaround for incompatibility between gcloud and windows-2019 runners.
      - name: Install Python
        if: ${{ matrix.python-version && (!matrix.continuous-only || inputs.continuous-run) }}
        uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0
        with:
          python-version: ${{ matrix.python-version }}
      - name: Use custom python for gcloud
        if: ${{ matrix.python-version  && (!matrix.continuous-only || inputs.continuous-run) }}
        run: echo "CLOUDSDK_PYTHON=${Python3_ROOT_DIR}\\python3" >> $GITHUB_ENV
        shell: bash

      - name: Setup sccache
        if: ${{ !matrix.continuous-only || inputs.continuous-run }}
        uses: protocolbuffers/protobuf-ci/sccache@v3
        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@v3
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            cmake . -DCMAKE_CXX_STANDARD=17 ${{ 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@v3
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: >-
            cmake . -DCMAKE_CXX_STANDARD=17 ${{ 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 --verbose --parallel 20 -C Debug

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