X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=.github%2Fworkflows%2Fci.yml;h=c5be4b318d5dd25c169f5569d35a0b921a4202d4;hb=76321b4eac8def8ccae28a467752ec30d637cf97;hp=0c8a9e865780ba62e9c8688f1d3643cab99f6f5b;hpb=6dc68874767e9a49c1d4bddef46f715fbc85b09b;p=plcapi.git diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0c8a9e8..c5be4b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,7 @@ on: [push] jobs: test: - runs-on: ubuntu-latest + runs-on: ${{ matrix.operating-system }} env: HTTPSERVER: localhost URI: /demo/server/server.php @@ -20,17 +20,47 @@ jobs: strategy: fail-fast: false matrix: - php: ['8.1', '8.0', '7.4', '7.3', '7.2', '7.1', '7.0', '5.6', '5.5', '5.4', '5.3'] + operating-system: ['ubuntu-latest'] # @todo add 'windows-latest' + # @todo use an older version of phpunit to enable testing on php 5.3 - 5.5 + php: ['8.1', '8.0', '7.4', '7.3', '7.2', '7.1', '7.0', '5.6'] steps: - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} - extensions: curl - #tools: phpunit + extensions: curl, dom, mbstring, xsl + ini_values: 'cgi.fix_pathinfo=1, always_populate_raw_post_data=-1' + #tools: phpunit/phpunit:a_version_compatible_with_php_5.3-5.5 + # NB: this disables xdebug completely + coverage: none #- # run: 'php -v && env' - uses: actions/checkout@v2 - + # @todo add config setup scripts for windows run: 'chmod 755 ./tests/ci/setup/*.sh && sudo ./tests/ci/setup/setup_perl.sh && sudo ./tests/ci/setup/setup_apache.sh && sudo ./tests/ci/setup/setup_privoxy.sh' + # Avoid downloading composer deps on every workflow. Is this useful for us? + #- + # uses: actions/cache@v2 + # with: + # path: /tmp/composer-cache + # key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }} + - + # simpler alternative ? Atm, php-actions/composer also fails because of missing php xsl extension! + #uses: php-actions/composer@v6 + run: 'composer install' + - + if: ${{ matrix.php == '7.4' }} + run: './tests/ci/setup/setup_code_coverage.sh enable' + - + # @todo bring back $PHPUNIT_OPTS to trigger code coverage + run: './vendor/bin/phpunit -v tests' + - + run: 'python3 demo/client/python/test.py' + - + run: 'perl demo/client/perl/test.pl' + - + if: ${{ failure() }} + run: 'systemctl status apache2.service; ls -la /etc/apache2/mods-enabled; ls -la /etc/apache2/conf-enabled; sudo cat /var/log/apache2/error.log; sudo cat /var/log/apache2/other_vhosts_access.log' + #run: 'env; php -i; sudo cat /var/log/privoxy/*; sudo cat /var/log/php*.log'