Skip to content

Commit fe31203

Browse files
committed
Add script to run CI steps locally
1 parent e5a70fd commit fe31203

3 files changed

Lines changed: 40 additions & 3 deletions

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
# dependencies
1+
# dependencies and tools
22
vendor/
3+
tools/
34

45
# caches, logs etc.
56
composer.lock

composer.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@
2828
"symfony/service-contracts": "^3.5"
2929
},
3030
"require-dev": {
31-
"ergebnis/composer-normalize": "^2.45",
3231
"nyholm/symfony-bundle-test": "^3.0",
33-
"php-cs-fixer/shim": "^3.74",
3432
"phpbench/phpbench": "^1.4",
3533
"phpunit/phpunit": "^9.5",
3634
"psalm/plugin-symfony": "^5.2",

scripts/ci.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/usr/bin/env bash
2+
3+
set -euo pipefail
4+
5+
CURRENT_DIRECTORY="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6+
PROJECT_DIRECTORY="$(dirname "$CURRENT_DIRECTORY")"
7+
8+
pushd "$PROJECT_DIRECTORY" >/dev/null
9+
10+
# <editor-fold desc="Install tools">
11+
if [ ! -d "tools" ]; then
12+
mkdir -p tools
13+
fi
14+
15+
if [ ! -f "tools/composer-normalize.phar" ]; then
16+
wget https://github.com/ergebnis/composer-normalize/releases/latest/download/composer-normalize.phar -O tools/composer-normalize.phar
17+
fi
18+
19+
if [ ! -f "tools/composer-require-checker.phar" ]; then
20+
wget https://github.com/maglnet/ComposerRequireChecker/releases/latest/download/composer-require-checker.phar -O tools/composer-require-checker.phar
21+
fi
22+
23+
if [ ! -f "tools/php-cs-fixer.phar" ]; then
24+
wget https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/latest/download/php-cs-fixer.phar -O tools/php-cs-fixer.phar
25+
fi
26+
# </editor-fold>
27+
28+
composer install --no-interaction --no-progress --ansi
29+
composer validate --no-ansi --strict composer.json
30+
31+
php tools/composer-normalize.phar --dry-run
32+
php tools/composer-require-checker.phar check
33+
PHP_CS_FIXER_IGNORE_ENV=1 php tools/php-cs-fixer.phar fix --dry-run --show-progress=dots --using-cache=no --verbose
34+
35+
vendor/bin/psalm --no-cache --threads=4
36+
vendor/bin/phpunit
37+
38+
popd >/dev/null

0 commit comments

Comments
 (0)