|
1 |
| -name: PHP Composer |
| 1 | +name: CI |
2 | 2 |
|
3 | 3 | on:
|
4 | 4 | push:
|
5 | 5 | pull_request:
|
6 | 6 |
|
7 | 7 | jobs:
|
8 | 8 | run:
|
9 |
| - runs-on: ubuntu-latest |
10 | 9 | strategy:
|
11 | 10 | matrix:
|
12 |
| - php-version: |
13 |
| - - "7.2" |
14 |
| - - "7.3" |
15 |
| - - "7.4" |
16 |
| - - "8.0" |
17 |
| - composer-dependencies: |
18 |
| - - 'highest' |
| 11 | + include: |
| 12 | + # Includes php7.1-8.0, composer 2, php-xdebug, and more |
| 13 | + # https://github.com/actions/virtual-environments/blob/ubuntu18/20210318.0/images/linux/Ubuntu1804-README.md#php |
| 14 | + - os: ubuntu-18.04 |
| 15 | + php: "7.2" |
| 16 | + - os: ubuntu-18.04 |
| 17 | + php: "7.3" |
| 18 | + # Includes php7.4-8.x, composer 2, php-xdebug, and more |
| 19 | + # https://github.com/actions/virtual-environments/blob/ubuntu20/20210318.0/images/linux/Ubuntu2004-README.md#php |
| 20 | + - os: ubuntu-20.04 |
| 21 | + php: "7.4" |
| 22 | + - os: ubuntu-20.04 |
| 23 | + php: "8.0" |
| 24 | + |
| 25 | + name: Test PHP ${{ matrix.php }} |
| 26 | + runs-on: ${{ matrix.os }} |
19 | 27 | env:
|
20 | 28 | COMPOSER_DISABLE_XDEBUG_WARN: 1
|
21 | 29 |
|
22 |
| - name: Test PHP ${{ matrix.php-version }} |
23 | 30 | steps:
|
24 | 31 | - name: Checkout
|
25 | 32 | uses: actions/checkout@v2
|
26 | 33 |
|
27 |
| - - name: Setup PHP version |
28 |
| - uses: shivammathur/setup-php@v2 |
29 |
| - with: |
30 |
| - php-version: ${{ matrix.php-version }} |
31 |
| - extensions: ast |
32 |
| - coverage: xdebug |
33 |
| - tools: composer:v2 |
| 34 | + - name: Use PHP ${{ matrix.php }} |
| 35 | + run: | |
| 36 | + sudo update-alternatives --set php /usr/bin/php${{ matrix.php }} |
| 37 | + sudo apt-add-repository ppa:ondrej/php -y |
| 38 | + sudo apt-fast install -y --no-install-recommends php${{ matrix.php }}-ast |
34 | 39 |
|
35 |
| - - name: Test Composer v1 |
| 40 | + - name: Use Composer v1 |
36 | 41 | run: composer require --dev --no-update composer/composer:^1.1
|
37 | 42 |
|
38 |
| - - uses: "ramsey/composer-install@v1" |
39 |
| - with: |
40 |
| - dependency-versions: "${{ matrix.composer-dependencies }}" |
| 43 | + - name: composer install |
| 44 | + run: composer update --no-interaction --no-progress --ansi |
41 | 45 |
|
42 | 46 | - run: composer test
|
43 | 47 |
|
44 |
| - - name: Test Composer v2 |
| 48 | + - name: Use Composer v2 |
45 | 49 | run: composer require --dev --no-update composer/composer:^2.0
|
46 | 50 |
|
47 |
| - - uses: "ramsey/composer-install@v1" |
48 |
| - with: |
49 |
| - dependency-versions: "${{ matrix.composer-dependencies }}" |
| 51 | + - name: composer install |
| 52 | + run: composer update --no-interaction --no-progress --ansi |
50 | 53 |
|
51 | 54 | - run: composer test
|
52 | 55 | - run: composer phan
|
53 | 56 |
|
54 | 57 | ocular-push:
|
55 |
| - runs-on: ubuntu-latest |
| 58 | + runs-on: ubuntu-18.04 |
56 | 59 | if: ${{ success() }} && github.repository == 'wikimedia/composer-merge-plugin'
|
57 | 60 | needs: [run]
|
58 | 61 |
|
59 | 62 | steps:
|
60 | 63 | - name: Checkout
|
61 | 64 | uses: actions/checkout@v2
|
62 | 65 |
|
63 |
| - - name: Setup PHP version for coverage |
64 |
| - uses: shivammathur/setup-php@v2 |
65 |
| - with: |
66 |
| - php-version: "7.2" |
67 |
| - coverage: xdebug |
68 |
| - tools: composer:v1 |
| 66 | + - name: Use PHP 7.2 |
| 67 | + run: sudo update-alternatives --set php /usr/bin/php7.2 |
69 | 68 |
|
70 | 69 | - name: Install dependencies
|
71 | 70 | run: composer install --prefer-dist --no-progress
|
72 | 71 |
|
73 | 72 | - name: Run coverage
|
74 | 73 | run: composer coverage
|
| 74 | + env: |
| 75 | + XDEBUG_MODE: coverage |
75 | 76 |
|
76 | 77 | - name: Get Ocular
|
77 | 78 | run: wget https://scrutinizer-ci.com/ocular.phar
|
| 79 | + continue-on-error: true |
78 | 80 |
|
79 | 81 | - name: Upload code coverage
|
80 | 82 | run: php ocular.phar code-coverage:upload --format=php-clover reports/coverage.xml
|
| 83 | + continue-on-error: true |
81 | 84 |
|
82 | 85 | # irc-push:
|
83 | 86 | # runs-on: ubuntu-latest
|
|
0 commit comments