name: "Build"

on:
  push:
    branches: ["*"]
  pull_request:
    branches: ["*"]

env:
  BUILD_DEPS: automake bison flex git libboost-all-dev libevent-dev libssl-dev libtool make pkg-config
  CONFIG_ARGS_FOR_LIBS: >
    --disable-debug
    --disable-dependency-tracking
    --without-cpp
    --without-c_glib
    --without-java
    --without-kotlin
    --without-python
    --without-py3
    --without-ruby
    --without-haxe
    --without-netstd
    --without-perl
    --without-php
    --without-php_extension
    --without-dart
    --without-erlang
    --without-go
    --without-d
    --without-nodejs
    --without-nodets
    --without-lua
    --without-rs
    --without-swift

permissions:
  contents: read

jobs:
  # TODO windows and macos
  compiler:
    strategy:
      matrix:
        os:
          - ubuntu-22.04
          - ubuntu-24.04
      fail-fast: false
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends g++ $BUILD_DEPS

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: ./configure --disable-debug --disable-tests --disable-libs

      - name: Run make
        run: make -j$(nproc)

      - name: Run install
        run: make install

      - name: Run thrift version
        run: /usr/local/bin/thrift -version

      # only upload while building ubuntu-24.04
      - name: Archive built thrift compiler
        if: matrix.os == 'ubuntu-24.04'
        uses: actions/upload-artifact@v6
        with:
          name: thrift-compiler
          path: compiler/cpp/thrift
          retention-days: 3

  compiler-macos:
    strategy:
      matrix:
        os: &macos_versions [macos-15-intel, macos-14, macos-15, macos-26]
      fail-fast: false
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          brew install automake bison flex boost libevent openssl libtool pkg-config
          echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: ./configure --disable-debug --disable-tests --disable-libs

      - name: Run make
        run: make -j$(sysctl -n hw.ncpu)

      - name: Run install
        run: sudo make install

      - name: Run thrift version
        run: /usr/local/bin/thrift -version

      - name: Archive built thrift compiler (macOS)
        uses: actions/upload-artifact@v6
        with:
          name: thrift-compiler-${{ matrix.os }}
          path: compiler/cpp/thrift
          retention-days: 3

  lib-php:
    needs: compiler
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        php-version: [7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2, 8.3]
      fail-fast: false
    steps:
      - uses: actions/checkout@v6

      - name: Set up PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: ${{ matrix.php-version }}
          extensions: mbstring, intl, xml, curl
          ini-values: "error_reporting=E_ALL"

      - name: Install Dependencies
        run: composer install

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-php/with-php/' | sed 's/without-php_extension/with-php_extension/' )

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Build Thrift Classes
        run: |
          mkdir -p ./lib/php/test/Resources/packages/php
          mkdir -p ./lib/php/test/Resources/packages/phpv
          mkdir -p ./lib/php/test/Resources/packages/phpvo
          mkdir -p ./lib/php/test/Resources/packages/phpjs
          mkdir -p ./lib/php/test/Resources/packages/phpcm
          compiler/cpp/thrift --gen php:nsglobal="Basic" -r --out ./lib/php/test/Resources/packages/php lib/php/test/Resources/ThriftTest.thrift
          compiler/cpp/thrift --gen php:validate,nsglobal="Validate" -r --out ./lib/php/test/Resources/packages/phpv lib/php/test/Resources/ThriftTest.thrift
          compiler/cpp/thrift --gen php:validate,oop,nsglobal="ValidateOop" -r --out ./lib/php/test/Resources/packages/phpvo lib/php/test/Resources/ThriftTest.thrift
          compiler/cpp/thrift --gen php:json,nsglobal="Json" -r --out ./lib/php/test/Resources/packages/phpjs lib/php/test/Resources/ThriftTest.thrift
          compiler/cpp/thrift --gen php:classmap,server,rest,nsglobal="Classmap" -r --out ./lib/php/test/Resources/packages/phpcm lib/php/test/Resources/ThriftTest.thrift

      - name: Run Tests
        run: vendor/bin/phpunit -c lib/php/phpunit.xml

  lib-go:
    needs: compiler
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        go:
          - '1.25'
          - '1.26'
      fail-fast: false
    steps:
      - uses: actions/checkout@v6

      - uses: actions/setup-go@v6
        with:
          go-version: ${{ matrix.go }}

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends $BUILD_DEPS

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-go/with-go/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for go
        run: make -C lib/go

      - name: Run make check for lib/go
        run: make -C lib/go check

      - name: Run make check for test/go
        run: make -C test/go check

      - name: Run make precross for go test
        run: make -C test/go precross

      - name: Upload go precross artifacts
        if: matrix.go == '1.26'
        uses: actions/upload-artifact@v6
        with:
          name: go-precross
          if-no-files-found: error
          path: |
            test/go/bin/*
          retention-days: 3

  lib-java-kotlin:
    needs: compiler
    runs-on: ubuntu-24.04
    env:
      GRADLE_VERSION: "8.4"
    steps:
      - uses: actions/checkout@v6

      - uses: actions/setup-java@v5
        with:
          distribution: temurin
          java-version: 17
          cache: "gradle"

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends $BUILD_DEPS
          sudo apt-get install -y wget unzip ant maven

      - name: Setup gradle
        run: |
          wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip
          (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -)
          unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip
          sudo mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle
          sudo ln -s /usr/local/gradle/bin/gradle /usr/local/bin
          gradle --version

      - name: Run spotlessCheck for Java
        run: |
          cd lib/java
          gradle spotlessCheck

      - name: Run ktfmtCheck for Kotlin
        run: |
          cd lib/kotlin
          gradle ktfmtCheck

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-java/with-java/' | sed 's/without-kotlin/with-kotlin/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for java
        run: make -C lib/java

      # this will invoke publishToMavenLocal and install locally
      - name: Run make install for java
        run: make -C lib/java install

      - name: Upload java libthrift artifacts
        uses: actions/upload-artifact@v6
        with:
          name: libthrift
          if-no-files-found: error
          path: ~/.m2/repository/org/apache/thrift

      - name: Run make check for java
        run: make -C lib/java check

      - name: Run make precross for java
        run: make -C lib/java precross

      - name: Upload java precross artifacts
        uses: actions/upload-artifact@v6
        with:
          name: java-precross
          if-no-files-found: error
          path: |
            lib/java/build/functionalTestJar/
            lib/java/build/runnonblockingclient
            lib/java/build/runclient
            lib/java/build/runnonblockingserver
            lib/java/build/runserver
            lib/java/build/runservletserver
          retention-days: 3

      - name: Run make for kotlin
        run: make -C lib/kotlin

      - name: Run make check for kotlin
        run: make -C lib/kotlin check

      - name: Run make precross for kotlin
        run: make -C lib/kotlin precross

      - name: Upload kotlin precross artifacts
        uses: actions/upload-artifact@v6
        with:
          name: kotlin-precross
          if-no-files-found: error
          path: |
            lib/kotlin/cross-test-client/build/install/TestClient/
            lib/kotlin/cross-test-server/build/install/TestServer/
          retention-days: 3

  lib-netstd:
    needs: compiler
    runs-on: ubuntu-24.04
    strategy:
      fail-fast: false
    defaults:
      run:
        shell: bash  # required by net install script
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends $BUILD_DEPS
          sudo apt-get install -y --no-install-recommends curl openssl ca-certificates

# This whole setup is getting worse: https://github.com/dotnet/core/discussions/9258
      - name: Set up .NET SDK (via install script)
        run: |
          # remove any existing install
          sudo apt remove dotnet*
          # install key
          sudo apt install gpg
          wget https://dot.net/v1/dotnet-install.asc
          gpg --import dotnet-install.asc
          # download and verify
          wget https://dot.net/v1/dotnet-install.sh
          wget https://dot.net/v1/dotnet-install.sig
          gpg --verify dotnet-install.sig dotnet-install.sh
          # run install script
          chmod +x dotnet-install.sh
          ./dotnet-install.sh --channel 10.0
          # export env vars
          export DOTNET_ROOT=$HOME/.dotnet
          export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
          dotnet --list-sdks

#      the sdk is installed by default, but keep this step for reference
#      especially newer versions are NOT always pre-installed, so manually again
#      - name: Set up .NET SDK
#        run: |
#          sudo add-apt-repository -y ppa:dotnet/backports
#          sudo apt-get install -y --no-install-recommends dotnet-sdk-10.0
#      end

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure for netstd
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-netstd/with-netstd/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for netstd
        run: make -C lib/netstd

      - name: Run make install for netstd
        run: sudo make -C lib/netstd install

      - name: Run make check for netstd
        run: make -C lib/netstd check

      - name: Run make check for test/netstd
        run: make -C test/netstd check

      - name: Run make precross for test/netstd
        run: make -C test/netstd precross

      - name: Upload netstd precross artifacts
        uses: actions/upload-artifact@v6
        with:
          name: netstd-precross
          if-no-files-found: error
          path: |
            test/netstd/Client/bin/Release/
            test/netstd/Server/bin/Release/
          retention-days: 3

  lib-swift:
    needs: compiler
    runs-on: ubuntu-24.04
    if: false                     # swift is currently broken and no maintainers around -> see THRIFT-5864
    steps:
      - uses: actions/checkout@v6

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-swift/with-swift/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make precross for swift
        run: make -C test/swift precross

      - name: Upload swift precross artifacts
        uses: actions/upload-artifact@v6
        with:
          name: swift-precross
          if-no-files-found: error
          path: |
            test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/TestServer
            test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/TestClient
          retention-days: 3

  lib-rust:
    needs: compiler
    runs-on: ubuntu-24.04
    env:
      TOOLCHAIN_VERSION: 1.83.0
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends curl $BUILD_DEPS

      - name: Setup cargo
        run: |
          curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
          rustup update
          rustup install $TOOLCHAIN_VERSION
          rustup default $TOOLCHAIN_VERSION
          rustup --version
          cargo --version
          rustc --version

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-rs/with-rs/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for rust
        run: make -C lib/rs

      - name: Run make check for rust
        run: make -C lib/rs check

      - name: Run make test for rust
        run: make -C lib/rs/test check

      - name: Run make precross for test rust
        run: make -C test/rs precross

      - name: Upload rust precross artifacts
        uses: actions/upload-artifact@v6
        with:
          name: rs-precross
          if-no-files-found: error
          path: |
            test/rs/bin/test_server
            test/rs/bin/test_client
          retention-days: 3

      - name: Run make test_recursive for rust
        run: make -C lib/rs/test_recursive check

  lib-python:
    needs: compiler
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        python-version: &python_versions ["3.10", "3.11", "3.12", "3.13", "3.14"]
      fail-fast: false
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends $BUILD_DEPS
          sudo apt-get install -y --no-install-recommends curl openssl ca-certificates

      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}

      - name: Python setup
        run: |
          python -m pip install --upgrade pip setuptools wheel flake8 "tornado>=6.3.0" "twisted>=24.3.0" "zope.interface>=6.1"
          python --version
          pip --version

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-py3/with-py3/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for python
        run: make -C lib/py

      - name: Run make install for python
        run: sudo make -C lib/py install

      # - name: Run make install-exec-hook for python
      #   run: sudo make -C lib/py install-exec-hook

      - name: Run make for python libs
        run: make -C lib/py

      - name: Run make check for python libs
        run: make -C lib/py check

      - name: Run make check for python code
        run: make -C test/py check

      - name: Run make precross for python
        if: matrix.python-version == '3.12'
        run: make -C test/py precross

      - name: Upload python precross artifacts
        if: matrix.python-version == '3.12'
        uses: actions/upload-artifact@v6
        with:
          name: py-precross
          if-no-files-found: error
          path: |
            lib/py/build/lib.*
            test/py/gen-py
            test/py/TestClient.py
            test/py/TestServer.py
            test/py/util.py
          retention-days: 3

  lib-python-macos:
    needs: compiler-macos
    strategy:
      matrix:
        os: *macos_versions
        python-version: *python_versions
      fail-fast: false
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          brew install automake bison flex boost libevent openssl libtool pkg-config
          echo "$(brew --prefix bison)/bin" >> $GITHUB_PATH

      - name: Set up Python
        uses: actions/setup-python@v6
        with:
          python-version: ${{ matrix.python-version }}

      - name: Python setup
        run: |
          python -m pip install --upgrade pip setuptools wheel flake8 "tornado>=6.3.0" "twisted>=24.3.0" "zope.interface>=6.1"
          python --version
          pip --version

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-py3/with-py3/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler-${{ matrix.os }}
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for python
        run: make -C lib/py

      - name: Run make install for python
        run: |
          sudo make -C lib/py install PY_PREFIX="$(python -c 'import sys; print(sys.prefix)')"

      - name: Run make for python libs
        run: make -C lib/py

      - name: Run make check for python libs
        run: make -C lib/py check

      - name: Run make check for python code
        run: make -C test/py check

  lib-nodejs:
    needs: compiler
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed -E 's/without-node([tj])s/with-node\1s/g')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run js tests
        run: make -C lib/nodejs check

      - name: Run ts tests
        run: make -C lib/nodets check

  lib-cpp:
    needs: compiler
    runs-on: ubuntu-24.04
    steps:
      - uses: actions/checkout@v6

      - name: Install dependencies
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends g++ $BUILD_DEPS locales
          sudo locale-gen en_US.UTF-8
          sudo locale-gen de_DE.UTF-8
          sudo update-locale

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed -E 's/without-cpp/with-cpp/g')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for cpp
        run: make -j$(nproc) -C lib/cpp

      - name: Run make check for lib/cpp
        run: make -j$(nproc) -C lib/cpp check

      - name: Run make check for test/cpp
        run: make -j$(nproc) -C test/cpp check

      - name: Run make precross for cpp test
        run: make -j$(nproc) -C test/cpp precross

      - name: Upload cpp precross artifacts
        uses: actions/upload-artifact@v6
        with:
          name: cpp-precross
          if-no-files-found: error
          include-hidden-files: true
          path: |
            test/cpp/TestClient
            test/cpp/TestServer
            test/cpp/.libs/TestClient
            test/cpp/.libs/TestServer
            lib/cpp/.libs/*.so
          retention-days: 3

      - name: Upload log files from failed test runs
        uses: actions/upload-artifact@v6
        if: failure()
        with:
          name: lib-cpp-test-log
          path: lib/cpp/test/*.xml
          retention-days: 3

  lib-ruby:
    needs: compiler
    runs-on: ubuntu-24.04
    name: lib-ruby (${{ matrix.ruby-version }}) ${{ matrix.skip-build-ext && 'noext' || '' }}
    strategy:
      matrix:
        ruby-version: ["2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "4.0", "head"]
        skip-build-ext: [false]
        include:
          - ruby-version: "2.7"
            skip-build-ext: true
      fail-fast: false
    env:
      SKIP_BUILD_EXT: ${{ matrix.skip-build-ext && '1' || '' }}
    steps:
      - uses: actions/checkout@v6

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby-version }}
          bundler-cache: true
          working-directory: lib/rb

      - name: Run bootstrap
        run: ./bootstrap.sh

      - name: Run configure
        run: |
          ./configure $(echo $CONFIG_ARGS_FOR_LIBS | sed 's/without-ruby/with-ruby/')

      - uses: actions/download-artifact@v7
        with:
          name: thrift-compiler
          path: compiler/cpp

      - name: Run thrift-compiler
        run: |
          chmod a+x compiler/cpp/thrift
          compiler/cpp/thrift -version

      - name: Run make for ruby
        run: make -C lib/rb

      - name: Run make check for lib/rb
        run: make -C lib/rb check

      - name: Run make check for test/rb
        run: make -C test/rb check

      - name: Run make precross for ruby test
        run: make -C test/rb precross

      - name: Upload ruby precross artifacts
        # has to match the version used in cross-test
        if: matrix.ruby-version == '2.7' && matrix.skip-build-ext == false
        uses: actions/upload-artifact@v5
        with:
          name: rb-precross
          if-no-files-found: error
          path: |
            test/rb/gen-rb/*
            lib/rb/ext/*.so
          retention-days: 3

  cross-test:
    needs:
      - lib-java-kotlin
      #- lib-swift                     # swift is currently broken and no maintainers around -> see THRIFT-5864
      - lib-rust
      - lib-go
      - lib-python
      - lib-cpp
      - lib-ruby
    runs-on: ubuntu-24.04
    strategy:
      matrix:
        # swift is currently broken and no maintainers around -> see THRIFT-5864
        # kotlin cross test are failing -> see THRIFT-5879
        server_lang: ['java', 'go', 'rs', 'cpp', 'py', 'rb']
        # we always use comma join as many client langs as possible, to reduce the number of jobs
        client_lang: ['java,kotlin', 'go,rs,cpp', 'py', 'rb']
      fail-fast: false
    steps:
      - uses: actions/checkout@v6

      - uses: actions/setup-python@v6
        with:
          python-version: "3.12"

      - name: Install Python test dependencies
        run: |
          python -m pip install --upgrade pip setuptools
          python -m pip install "tornado>=6.3.0" "twisted>=24.3.0" "zope.interface>=6.1"

      - uses: actions/setup-java@v5
        with:
          distribution: temurin
          # here we intentionally use an older version so that we also verify Java 17 compiles to it
          java-version: 8
          cache: "gradle"

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: "2.7"
          bundler-cache: true
          working-directory: test/rb

      - name: Install openssl and certificates (for SSL tests)
        run: |
          sudo apt-get update -yq
          sudo apt-get install -y --no-install-recommends \
            openssl \
            ca-certificates \
            libboost-all-dev \
            libevent-dev

      - name: Download java precross artifacts
        uses: actions/download-artifact@v7
        with:
          name: java-precross
          path: lib/java/build

      - name: Download kotlin precross artifacts
        uses: actions/download-artifact@v7
        with:
          name: kotlin-precross
          path: lib/kotlin

      # swift is currently broken and no maintainers around -> see THRIFT-5864
      #- name: Download swift precross artifacts
      #  uses: actions/download-artifact@v7
      #  with:
      #    name: swift-precross
      #    path: test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug

      - name: Download rust precross artifacts
        uses: actions/download-artifact@v7
        with:
          name: rs-precross
          path: test/rs/bin

      - name: Download go precross artifacts
        uses: actions/download-artifact@v7
        with:
          name: go-precross
          path: test/go/bin

      - name: Download cpp precross artifacts
        uses: actions/download-artifact@v7
        with:
          name: cpp-precross
          path: .

      - name: Download python precross artifacts
        uses: actions/download-artifact@v7
        with:
          name: py-precross
          path: .

      - name: Download ruby precross artifacts
        uses: actions/download-artifact@v6
        with:
          name: rb-precross
          path: .

      - name: Set back executable flags
        run: |
          chmod a+x lib/java/build/run*
          chmod a+x lib/kotlin/cross-test-client/build/install/TestClient/bin/*
          chmod a+x lib/kotlin/cross-test-server/build/install/TestServer/bin/*
          # THRIFT-5864  chmod a+x test/swift/CrossTests/.build/x86_64-unknown-linux-gnu/debug/*
          chmod a+x test/rs/bin/*
          chmod a+x test/go/bin/*
          chmod a+x test/cpp/*
          chmod a+x test/cpp/.libs/*
          chmod a+x lib/cpp/.libs/*.so
          chmod a+x test/py/*.py
          chmod a+x lib/rb/ext/*.so

      - name: Create tmp domain socket folder
        run: mkdir /tmp/v0.16

      - name: Run cross test
        env:
          THRIFT_CROSSTEST_CONCURRENCY: 4
        run: |
          python test/test.py \
            --retry-count 5 \
            --skip-known-failures \
            --server ${{ matrix.server_lang }} \
            --client ${{ matrix.client_lang }}

      - name: Upload log files from failed cross test runs
        uses: actions/upload-artifact@v6
        if: failure()
        with:
          name: cross-test-log_${{ matrix.server_lang }}-${{ matrix.client_lang }}
          path: test/log/
          retention-days: 3
