diff --git a/.github/workflows/php.yml b/.github/workflows/php.yml new file mode 100644 index 0000000..da9e095 --- /dev/null +++ b/.github/workflows/php.yml @@ -0,0 +1,34 @@ +name: PHP Composer + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Validate composer.json and composer.lock + run: composer validate + + - name: Cache Composer packages + id: composer-cache + uses: actions/cache@v2 + with: + path: vendor + key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php- + + - name: Install dependencies + if: steps.composer-cache.outputs.cache-hit != 'true' + run: composer install --prefer-dist --no-progress --no-suggest + + - name: Run test suite + run: composer run-script test diff --git a/composer.json b/composer.json index 3494149..e8b2c34 100644 --- a/composer.json +++ b/composer.json @@ -30,10 +30,12 @@ "phpdoc-md": [ "@php vendor/bin/phpdoc-md generate src > docs/phpdoc.md", "@php scripts/phpdoc-md-fix-anchors.php docs/phpdoc.md" - ] + ], + "test": "phpunit" }, "scripts-descriptions": { - "phpdoc-md": "Generate markdown from phpdoc comments" + "phpdoc-md": "Generate markdown from phpdoc comments", + "phpunit": "Run PHPUnit tests" }, "license": "MIT", "authors": [