From 99d434840accf7314e0f4d72c1f31e788d8d3ba8 Mon Sep 17 00:00:00 2001 From: dannc Date: Wed, 4 Oct 2023 10:50:50 +0700 Subject: [PATCH] add ci workflow --- .github/workflows/ci.yml | 34 ++++++++++++++++++++++++++++++++++ composer.json | 5 +++++ 2 files changed, 39 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..57abc84 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +--- +name: ci + +on: + workflow_dispatch: + push: + branches: + - '**' + paths: + - 'src/*' + - 'tests/*' + - 'composer.json' + - 'phpunit.xml' + - 'phpcs.xml' + +jobs: + tests: + runs-on: ubuntu-22.04 + strategy: + matrix: + php_version: ['8.1', '8.2'] + prefer_lowest: ['yes', ''] + container: dannecron/php-for-dev:${{ matrix.php_version }} + steps: + - name: Check out repository + uses: actions/checkout@v3 + - name: Init composer.lock + run: | + composer update --no-install $(if [[ ${{ matrix.prefer_lowest }} == 'yes ]]; then echo '--prefer-lowest'; fi) + - name: Install dependencies + run: composer install + - name: Run tests + run: composer run pest-coverage +# lint: diff --git a/composer.json b/composer.json index bb8f16c..ee6ae68 100644 --- a/composer.json +++ b/composer.json @@ -37,5 +37,10 @@ "allow-plugins": { "pestphp/pest-plugin": false } + }, + "scripts": { + "pest": "vendor/bin/pest", + "pest-coverage": "env XDEBUG_MODE=coverage vendor/bin/pest --coverage-html=./tests/data/coverage-html --coverage-text", + "pest-coverage-html": "env XDEBUG_MODE=coverage vendor/bin/pest --coverage-html=./tests/data/coverage-html" } }