diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..c8e852d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,45 @@ +name: tests + +on: + push: + pull_request: + +jobs: + linux_tests: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[ci skip]')" + + strategy: + fail-fast: true + matrix: + include: + - php: "8.1" + swoole: "5.1.3" + - php: "8.2" + swoole: "5.1.3" + - php: "8.3" + swoole: "5.1.3" + - php: "8.1" + swoole: "5.1.4" + - php: "8.2" + swoole: "5.1.4" + - php: "8.3" + swoole: "5.1.4" + + name: PHP ${{ matrix.php }} (swoole-${{ matrix.swoole }}) + + container: + image: phpswoole/swoole:${{ matrix.swoole }}-php${{ matrix.php }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + COMPOSER_MEMORY_LIMIT=-1 composer install --prefer-dist -n -o + + - name: Execute tests + run: | + PHP_CS_FIXER_IGNORE_ENV=1 vendor/bin/php-cs-fixer fix --dry-run --diff + vendor/bin/phpunit -c phpunit.xml.dist