diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100755 index 0000000..4a00ea2 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,59 @@ +name: Tests + +on: + push: + branches: + - master + pull_request: + +jobs: + tests: + if: "!contains(github.event.head_commit.message, 'skip ci')" + name: PHP ${{ matrix.php-versions }} on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.php-versions == '8.1' }} + strategy: + fail-fast: false + matrix: + php-versions: ['7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1'] + os: [ubuntu-latest, windows-latest] + + steps: + - name: Configure git + if: runner.os == 'Windows' + run: git config --system core.autocrlf false; git config --system core.eol lf + + - name: Checkout + uses: actions/checkout@v2 + + - name: Set up PHP ${{ matrix.php-versions }} + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-versions }} + ini-values: date.timezone=Europe/Berlin + + - name: Setup Problem Matchers for PHP + run: echo "::add-matcher::${{ runner.tool_cache }}/php.json" + + - name: Validate composer.json and composer.lock + run: composer validate + + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + + - name: Cache dependencies + uses: actions/cache@v2.1.3 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + + - name: Install dependencies + run: > + curl -sSL https://dl.bintray.com/xp-runners/generic/xp-run-8.3.0.sh > xp-run && + composer install --prefer-dist && + echo "vendor/autoload.php" > composer.pth + + - name: Run test suite + run: sh xp-run xp.unittest.TestRunner src/test/php diff --git a/.travis.yml b/.travis.yml deleted file mode 100755 index 531555f..0000000 --- a/.travis.yml +++ /dev/null @@ -1,25 +0,0 @@ -# xp-forge/frontend - -language: php - -dist: trusty - -php: - - 7.0 - - 7.1 - - 7.2 - - 7.3 - - 7.4 - - nightly - -matrix: - allow_failures: - - php: nightly - -before_script: - - curl -sSL https://dl.bintray.com/xp-runners/generic/xp-run-8.1.7.sh > xp-run - - composer install --prefer-dist - - echo "vendor/autoload.php" > composer.pth - -script: - - sh xp-run xp.unittest.TestRunner src/test/php diff --git a/README.md b/README.md index ed906d2..68fee00 100755 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ Web frontends ============= -[![Build Status on TravisCI](https://secure.travis-ci.org/xp-forge/frontend.svg)](http://travis-ci.org/xp-forge/frontend) +[![Build status on GitHub](https://github.com/xp-forge/frontend/workflows/Tests/badge.svg)](https://github.com/xp-forge/frontend/actions) [![XP Framework Module](https://raw.githubusercontent.com/xp-framework/web/master/static/xp-framework-badge.png)](https://github.com/xp-framework/core) [![BSD Licence](https://raw.githubusercontent.com/xp-framework/web/master/static/licence-bsd.png)](https://github.com/xp-framework/core/blob/master/LICENCE.md) -[![Requires PHP 7.0+](https://raw.githubusercontent.com/xp-framework/web/master/static/php-7_0plus.png)](http://php.net/) +[![Requires PHP 7.0+](https://raw.githubusercontent.com/xp-framework/web/master/static/php-7_0plus.svg)](http://php.net/) +[![Supports PHP 8.0+](https://raw.githubusercontent.com/xp-framework/web/master/static/php-8_0plus.svg)](http://php.net/) [![Latest Stable Version](https://poser.pugx.org/xp-forge/frontend/version.png)](https://packagist.org/packages/xp-forge/frontend) Frontends based on `xp-forge/web`.