Skip to content

Commit e69d857

Browse files
authored
Merge pull request #1505 from meyerbaptiste/add_brigade
Use Brigade for coverage
2 parents 4a884d3 + bb5bcbe commit e69d857

File tree

3 files changed

+62
-11
lines changed

3 files changed

+62
-11
lines changed

.travis.yml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,33 +12,25 @@ matrix:
1212
- php: '7.0'
1313
- php: '7.1'
1414
- php: '7.2'
15-
env: coverage=1 lint=1
15+
env: lint=1
1616
- php: '7.2'
1717
env: deps='low'
1818

1919
before_install:
2020
- phpenv config-rm xdebug.ini || echo "xdebug not available"
2121
- echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
2222
- npm install -g swagger-cli
23-
- if [[ $coverage = 1 ]]; then mkdir -p build/logs build/cov; fi
24-
- if [[ $coverage = 1 ]]; then wget https://phar.phpunit.de/phpcov.phar; fi
25-
- if [[ $coverage = 1 ]]; then wget https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar; fi
2623
- if [[ $lint = 1 ]]; then wget https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v2.7.1/php-cs-fixer.phar; fi
2724
- if [[ $lint = 1 ]]; then composer global require --dev 'phpstan/phpstan:^0.8'; fi
2825
- export PATH="$PATH:$HOME/.composer/vendor/bin"
2926

3027
install:
31-
- if [[ $coverage = 1 ]]; then composer require --dev --no-update 'phpunit/php-code-coverage:^5.2.2'; fi
3228
- if [[ ! $deps ]]; then composer update --prefer-dist --no-progress --no-suggest --ansi; fi
3329
- if [[ $deps = 'low' ]]; then composer update --prefer-dist --no-progress --no-suggest --prefer-stable --prefer-lowest --ansi; fi
3430

3531
script:
36-
- if [[ $coverage = 1 ]]; then phpdbg -qrr vendor/bin/phpunit --coverage-php build/cov/coverage-phpunit.cov; else vendor/bin/phpunit; fi
37-
- if [[ $coverage = 1 ]]; then for f in $(find features -name '*.feature'); do FEATURE=${f//\//_} phpdbg -qrr vendor/bin/behat --format=progress --profile coverage $f || exit $?; done; else vendor/bin/behat --format=progress; fi
38-
- if [[ $coverage = 1 ]]; then phpdbg -qrr phpcov.phar merge --clover build/logs/clover.xml build/cov; fi
32+
- vendor/bin/phpunit
33+
- vendor/bin/behat --format=progress
3934
- tests/Fixtures/app/console api:swagger:export > swagger.json && swagger-cli validate swagger.json && rm swagger.json
4035
- if [[ $lint = 1 ]]; then php php-cs-fixer.phar fix --dry-run --diff --no-ansi; fi
4136
- if [[ $lint = 1 ]]; then phpstan analyse -c phpstan.neon -l5 --ansi src tests; fi
42-
43-
after_success:
44-
- if [[ $coverage = 1 ]]; then travis_retry php coveralls.phar; fi

Dockerfile.coverage

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
FROM composer:1.5
2+
FROM php:rc-alpine
3+
4+
RUN apk add --no-cache --virtual .persistent-deps \
5+
git \
6+
icu-libs \
7+
zlib
8+
9+
RUN apk add --no-cache --virtual .build-deps \
10+
$PHPIZE_DEPS \
11+
icu-dev \
12+
zlib-dev \
13+
curl
14+
15+
RUN set -xe \
16+
&& docker-php-ext-install \
17+
intl \
18+
zip
19+
20+
COPY --from=0 /usr/bin/composer /usr/bin/composer
21+
22+
RUN curl -L -o /usr/bin/phpcov https://phar.phpunit.de/phpcov.phar \
23+
&& curl -L -o /usr/bin/coveralls https://github.com/satooshi/php-coveralls/releases/download/v1.0.1/coveralls.phar \
24+
&& chmod 755 /usr/bin/phpcov /usr/bin/coveralls
25+
26+
RUN apk del .build-deps
27+
28+
RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini
29+
30+
ENV COMPOSER_ALLOW_SUPERUSER 1

brigade.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
const { events, Job } = require('brigadier');
2+
3+
const coverage = (event, project) => {
4+
console.log(`===> Building ${ project.repo.cloneURL } ${ event.commit }`);
5+
6+
const job = new Job('coverage', 'cooptilleuls/api-platform-core-brigade-coverage:latest');
7+
8+
job.tasks = [
9+
'set -xe',
10+
'cd /src/',
11+
'mkdir -p build/logs build/cov',
12+
`composer require --dev --no-update 'phpunit/php-code-coverage:^5.2.2'`,
13+
'composer update --prefer-dist --no-progress --no-suggest --ansi',
14+
'phpdbg -qrr vendor/bin/phpunit --coverage-php build/cov/coverage-phpunit.cov',
15+
`for f in $(find features -name '*.feature'); do FEATURE=\${f//\\//_} phpdbg -qrr vendor/bin/behat --format=progress --profile coverage $f || exit $?; done`,
16+
'phpdbg -qrr $(which phpcov) merge --clover build/logs/clover.xml build/cov;',
17+
'coveralls -v',
18+
];
19+
20+
job.env = {
21+
COVERALLS_RUN_LOCALLY: '1',
22+
COVERALLS_REPO_TOKEN: project.secrets.coverallsToken,
23+
};
24+
25+
job.run();
26+
};
27+
28+
events.on('push', coverage);
29+
events.on('pull_request', coverage);

0 commit comments

Comments
 (0)