apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
  name: phpunittest
spec:
  description: PHP unit test
  workspaces:
  - name: source
  sidecars:
    - name: database
      image: postgres:16
      env:
      - name: POSTGRES_PASSWORD
        value: not_so_secret
      - name: POSTGRES_HOST_AUTH_METHOD
        value: trust

  steps:
  - name: php-unit
    image:  reg.cadoles.com/cadoles/symfony:alpine-php-7.4-base-20230926
    env:
    - name: PHP_FPM_MEMORY_LIMIT
      value: 512m
    - name: MSE_DATABASE_DRIVER
      value: pdo_pgsql
    - name: MSE_DATABASE_HOST
      value: localhost
    - name: MSE_DATABASE_PORT
      value: '5432'
    - name: MSE_DATABASE_NAME
      value: postgres
    - name: MSE_DATABASE_USER
      value: postgres
    - name: MSE_DATABASE_PASSWORD
      value: not_so_secret
    - name: MSE_REDIS_SERVER
      value: localhost
    - name: MSE_REDIS_PORT
      value: '6379'
    command:
      - /bin/sh
    args:
      - '-c'
      - |
        set -e
        apk add bash=5.1.16-r0 \
        postgresql-client \
        php7-gd=7.4.33-r1   \
        php7-xsl=7.4.33-r1   \
        php7-pdo=7.4.33-r1   \
        php7-pgsql=7.4.33-r1 \
        php7-pdo_pgsql=7.4.33-r1 \
        php7-soap=7.4.33-r1 \
        php7-ldap=7.4.33-r1 \
        php7-pdo_mysql=7.4.33-r1 \
        php7-bcmath=7.4.33-r1 \
        php7-intl=7.4.33-r1 \
        php7-fileinfo=7.4.33-r1 \
        php7-iconv=7.4.33-r1 \
        php7-pecl-amqp=1.11.0-r0 \
        php7-pecl-redis=5.3.6-r0
        echo "memory_limit = 512M" >> /etc/php7/conf.d/03_base.ini
        echo "memory_limit = 512M" >> /etc/php8/conf.d/03_base.ini
        cd $(workspaces.source.path)
        ./bin/phpunit -c ./app --group unit --stderr --testdox -d memory_limit=1024M $(PHPUNIT_ARGS)
    onError: continue

  - name: php-functional
    image:  reg.cadoles.com/cadoles/symfony:alpine-php-7.4-base-20230926
    env:
    - name: PHP_FPM_MEMORY_LIMIT
      value: 512m
    - name: MSE_DATABASE_DRIVER
      value: pdo_pgsql
    - name: MSE_DATABASE_HOST
      value: localhost
    - name: MSE_DATABASE_PORT
      value: '5432'
    - name: MSE_DATABASE_NAME
      value: postgres
    - name: MSE_DATABASE_USER
      value: postgres
    - name: MSE_DATABASE_PASSWORD
      value: not_so_secret
    - name: MSE_REDIS_SERVER
      value: rfs-portal-redis
    - name: MSE_REDIS_PORT
      value: '26379'
    - name: MSE_REDIS_SERVER
      value: rfs-tekton-redis
    command:
      - /bin/sh
    args:
      - '-c'
      - |
        set -e
        apk add bash=5.1.16-r0 \
        postgresql-client \
        php7-gd=7.4.33-r1   \
        php7-xsl=7.4.33-r1   \
        php7-pdo=7.4.33-r1   \
        php7-pgsql=7.4.33-r1 \
        php7-pdo_pgsql=7.4.33-r1 \
        php7-soap=7.4.33-r1 \
        php7-ldap=7.4.33-r1 \
        php7-pdo_mysql=7.4.33-r1 \
        php7-bcmath=7.4.33-r1 \
        php7-intl=7.4.33-r1 \
        php7-fileinfo=7.4.33-r1 \
        php7-iconv=7.4.33-r1 \
        php7-pecl-amqp=1.11.0-r0 \
        php7-pecl-redis=5.3.6-r0
        echo "memory_limit = 512M" >> /etc/php7/conf.d/03_base.ini
        echo "memory_limit = 512M" >> /etc/php8/conf.d/03_base.ini
        cd $(workspaces.source.path)
        /bin/sh ./sidecar-scripts/init_database.sh
        ./bin/phpunit -c ./app --group integration --stderr --testdox -d memory_limit=1024M $(PHPUNIT_ARGS)