diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..dfc6dbb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,38 @@ +--- +name: CI +on: + push: + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + php_version: + - "7.4" + - "7.3" + - "7.2" + - "7.1" + steps: + - uses: actions/checkout@v2 + - uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php_version }} + env: + COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Get composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache composer dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Install dependencies + run: composer update + - name: Validate dependencies + run: composer validate + - name: Run tests + run: vendor/bin/phpunit --configuration tests/phpunit.xml diff --git a/Makefile b/Makefile index def47f8..1c9fcce 100644 --- a/Makefile +++ b/Makefile @@ -11,5 +11,11 @@ phpunit-dep: exit 1 \ ) +# Requires: +# - Docker: https://docker.com +# - act: https://github.com/nektos/act +local-ci: + act -P ubuntu-latest=shivammathur/node:latest -W .github/workflows/ci.yml + .SILENT: -.PHONY: test phpunit-dep +.PHONY: test phpunit-dep local-ci