Skip to content

Commit 47be3c0

Browse files
authored
Merge pull request #215 from wikimedia/gh-ci
build: Use php and composer from debian packages
2 parents 1d8842f + 0e82bc1 commit 47be3c0

File tree

2 files changed

+37
-34
lines changed

2 files changed

+37
-34
lines changed

.github/workflows/php.yml renamed to .github/workflows/CI.yaml

Lines changed: 35 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,83 +1,86 @@
1-
name: PHP Composer
1+
name: CI
22

33
on:
44
push:
55
pull_request:
66

77
jobs:
88
run:
9-
runs-on: ubuntu-latest
109
strategy:
1110
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 }}
1927
env:
2028
COMPOSER_DISABLE_XDEBUG_WARN: 1
2129

22-
name: Test PHP ${{ matrix.php-version }}
2330
steps:
2431
- name: Checkout
2532
uses: actions/checkout@v2
2633

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
3439
35-
- name: Test Composer v1
40+
- name: Use Composer v1
3641
run: composer require --dev --no-update composer/composer:^1.1
3742

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
4145

4246
- run: composer test
4347

44-
- name: Test Composer v2
48+
- name: Use Composer v2
4549
run: composer require --dev --no-update composer/composer:^2.0
4650

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
5053

5154
- run: composer test
5255
- run: composer phan
5356

5457
ocular-push:
55-
runs-on: ubuntu-latest
58+
runs-on: ubuntu-18.04
5659
if: ${{ success() }} && github.repository == 'wikimedia/composer-merge-plugin'
5760
needs: [run]
5861

5962
steps:
6063
- name: Checkout
6164
uses: actions/checkout@v2
6265

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
6968

7069
- name: Install dependencies
7170
run: composer install --prefer-dist --no-progress
7271

7372
- name: Run coverage
7473
run: composer coverage
74+
env:
75+
XDEBUG_MODE: coverage
7576

7677
- name: Get Ocular
7778
run: wget https://scrutinizer-ci.com/ocular.phar
79+
continue-on-error: true
7880

7981
- name: Upload code coverage
8082
run: php ocular.phar code-coverage:upload --format=php-clover reports/coverage.xml
83+
continue-on-error: true
8184

8285
# irc-push:
8386
# runs-on: ubuntu-latest

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[![Latest Stable Version]](https://packagist.org/packages/wikimedia/composer-merge-plugin) [![License]](https://github.com/wikimedia/composer-merge-plugin/blob/master/LICENSE)
2-
[![Build Status]](https://github.com/wikimedia/composer-merge-plugin/actions)
2+
[![Build Status]](https://github.com/wikimedia/composer-merge-plugin/actions/workflows/CI.yaml)
33
[![Code Coverage]](https://scrutinizer-ci.com/g/wikimedia/composer-merge-plugin/?branch=master)
44

55
Composer Merge Plugin
@@ -239,6 +239,6 @@ Composer Merge plugin is licensed under the MIT license. See the
239239
[PHP Code Sniffer]: http://pear.php.net/package/PHP_CodeSniffer
240240
[Latest Stable Version]: https://img.shields.io/packagist/v/wikimedia/composer-merge-plugin.svg?style=flat
241241
[License]: https://img.shields.io/packagist/l/wikimedia/composer-merge-plugin.svg?style=flat
242-
[Build Status]: https://img.shields.io/github/workflow/status/wikimedia/composer-merge-plugin/PHP%20Composer/master?style=flat
242+
[Build Status]: https://github.com/wikimedia/composer-merge-plugin/actions/workflows/CI.yaml/badge.svg
243243
[Code Coverage]: https://img.shields.io/scrutinizer/coverage/g/wikimedia/composer-merge-plugin/master.svg?style=flat
244244
[custom commands]: https://getcomposer.org/doc/articles/scripts.md#writing-custom-commands

0 commit comments

Comments
 (0)