name: PHP Tests

on:
  workflow_call:
    inputs:
      safe-checkout:
        required: true
        description: "The SHA key for the commit we want to run over"
        type: string

permissions:
  contents: read

jobs:
  linux:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        include:
          - name: 8.0 Optimized
            version: "8.0.5"
            version-short: "8.0"
            command: composer test \&\& composer test_c
          - name: 8.0 Debug
            version: 8.0.5-dbg
            version-short: "8.0"
            command: composer test \&\& composer test_c
          - name: 8.0 Memory Leak
            version: 8.0.5-dbg
            version-short: "8.0"
            # Run specialized memory leak & multirequest tests.
            command: composer test_c \&\& tests/multirequest.sh \&\& tests/memory_leak_test.sh
          - name: 8.0 Valgrind
            version: 8.0.5-dbg
            version-short: "8.0"
            command: composer test_valgrind

    name: Linux ${{ matrix.name}}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v2
        with:
          ref: ${{ inputs.safe-checkout }}
      - name: Setup composer
        uses: protocolbuffers/protobuf-ci/composer-setup@v2
        with:
          cache-prefix: php-${{ matrix.version-short }}
          directory: php
      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v2
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php:${{ matrix.version }}-66964dc8b07b6d1fc73a5cc14e59e84c1c534cea
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          extra-flags: -e COMPOSER_HOME=/workspace/composer-cache
          command: ${{ matrix.command }}

  linux-32bit:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        version: ['8.0']
        suffix: [ '', '-zts']
        test: ['test', 'test_c']
        exclude:
          - suffix: '-zts'
            test: 'test'
        include:
          - suffix: '-zts'
            suffix_name: ' Thread Safe'
          - test: 'test_c'
            test_name: ' Extension'

    name: Linux 32-bit ${{ matrix.version}}${{ matrix.suffix_name }}${{ matrix.test_name }}
    runs-on: ubuntu-latest
    env:
      image: us-docker.pkg.dev/protobuf-build/containers/test/linux/32bit@sha256:8275360dc5d676f3470872d79087901c0e4153453976bea908a92c82e8d209ea
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v2
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Cross compile protoc for i386
        id: cross-compile
        uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          architecture: linux-i386

      - name: Setup composer
        uses: protocolbuffers/protobuf-ci/composer-setup@v2
        with:
          cache-prefix: php-${{ matrix.version }}
          directory: php

      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v2
        with:
          image: ${{ env.image }}
          platform: linux/386
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          extra-flags: -e COMPOSER_HOME=/workspace/composer-cache -e PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
          command: >-
            /bin/bash -cex '
            PATH="/usr/local/php-${{ matrix.version }}${{matrix.suffix}}/bin:$PATH";
            cd php && php -v && php -m;
            composer update --ignore-platform-reqs;
            composer ${{ matrix.test }}'

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

      - name: Cross compile protoc for aarch64
        id: cross-compile
        uses: protocolbuffers/protobuf-ci/cross-compile-protoc@v2
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:6.3.0-91a0ac83e968068672bc6001a4d474cfd9a50f1d
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          architecture: linux-aarch64

      - name: Setup composer
        uses: protocolbuffers/protobuf-ci/composer-setup@v2
        with:
          cache-prefix: php-8.0
          directory: php

      - name: Run tests
        uses: protocolbuffers/protobuf-ci/docker@v2
        with:
          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php-aarch64@sha256:77ff9fdec867bbfb290ee0b10d8b7a3e5e434155daa5ec93de7341c7592b858d
          platform: linux/arm64
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          extra-flags: -e COMPOSER_HOME=/workspace/composer-cache -e PROTOC=/workspace/${{ steps.cross-compile.outputs.protoc }}
          command: >-
            -c '
            cd php;
            composer update --ignore-platform-reqs;
            composer test;
            composer test_c'

  macos:
    strategy:
      fail-fast: false   # Don't cancel all jobs if one fails.
      matrix:
        version: ['8.2']

    name: MacOS PHP ${{ matrix.version }}
    runs-on: macos-12
    steps:
      - name: Checkout pending changes
        uses: protocolbuffers/protobuf-ci/checkout@v2
        with:
          ref: ${{ inputs.safe-checkout }}

      - name: Uninstall problematic libgd
        run: brew uninstall --ignore-dependencies gd

      - name: Install dependencies
        run: brew install coreutils gd

      - name: Pin PHP version
        uses: shivammathur/setup-php@7fdd3ece872ec7ec4c098ae5ab7637d5e0a96067 # 2.26.0
        with:
          php-version: ${{ matrix.version }}

      - name: Check PHP version
        run: php --version | grep ${{ matrix.version }} || (echo "Invalid PHP version - $(php --version)" && exit 1)

      - name: Setup composer
        uses: protocolbuffers/protobuf-ci/composer-setup@v2
        with:
          cache-prefix: php-${{ matrix.version }}
          directory: php

      - name: Run tests
        uses: protocolbuffers/protobuf-ci/bash@v2
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          command: |
            pushd php
            php -v
            php -m
            composer update
            composer test_c
            popd

      - name: Run conformance tests
        uses: protocolbuffers/protobuf-ci/bazel@v2
        with:
          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
          bazel-cache: php_macos/${{ matrix.version }}
          bazel: test //php:conformance_test_c --action_env=PATH --test_env=PATH
