44 build :
55 name : Github CI - Branch
66 runs-on : ubuntu-latest
7+ environment : github-ci
78 steps :
8- - name : Setup PHP 7.3
9+ - name : Setup PHP 8.0
910 uses : shivammathur/setup-php@v2
1011 with :
11- php-version : ' 7.3 '
12+ php-version : ' 8.0 '
1213 coverage : none
13- extensions : mbstring, intl, pdo_sqlite
14+ extensions : mbstring, intl, pdo_sqlite, json, redis, grpc
1415 ini-values : apc.enabled=1, apc.shm_size=32M, apc.ttl=7200, apc.enable_cli=1, apc.serializer=php
16+
1517 - name : Setup Memcached server
1618 uses : niden/actions-memcached@v7
1719 - name : Setup Redis server
@@ -23,32 +25,28 @@ jobs:
2325 - name : Validate composer.json and composer.lock
2426 run : composer validate
2527
28+ - name : Setup GCP environment
29+ run : " ./bin/ci/scripts/setup_gcp.sh || echo \" GCP setup failed (maybe due to fork limitation)\" "
30+ env :
31+ BASE64_GOOGLE_APPLICATION_CREDENTIALS : ${{ secrets.BASE64_GOOGLE_APPLICATION_CREDENTIALS }}
32+ GOOGLE_APPLICATION_CREDENTIALS : ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
33+
2634 - name : Install dependencies
27- run : composer install --prefer-dist --no-progress --no-suggest
35+ run : ./bin/ci/scripts/install_dependencies.sh
2836
29- # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit"
30- # Docs: https://getcomposer.org/doc/articles/scripts.md
31- - name : Run tests on PHP 7.3
32- run : php -f ./bin/ci/run_tests.php
33- - name : Setup PHP 7.4
34- uses : shivammathur/setup-php@v2
35- with :
36- php-version : ' 7.4'
37- coverage : none
38- extensions : mbstring, intl, pdo_sqlite, json
39- ini-values : apc.enabled=1, apc.shm_size=32M, apc.ttl=7200, apc.enable_cli=1, apc.serializer=php
40- - name : Run tests on PHP 7.4
41- run : php -f ./bin/ci/run_tests.php
42- # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit"
43- # Docs: https://getcomposer.org/doc/articles/scripts.md
44- - name : Run tests on PHP 8.0
45- run : php -f ./bin/ci/run_tests.php
46- - name : Setup PHP 8.0
47- uses : shivammathur/setup-php@v2
48- with :
49- php-version : ' 8.0'
50- coverage : none
51- extensions : mbstring, intl, pdo_sqlite, json
52- ini-values : apc.enabled=1, apc.shm_size=32M, apc.ttl=7200, apc.enable_cli=1, apc.serializer=php
53- - name : Run tests on PHP 8.0
37+ - name : Run PHPCS
38+ run : ./vendor/bin/phpcs lib/ --report=summary
39+
40+ - name : Run PHPMD
41+ run : ./vendor/bin/phpmd lib/ ansi phpmd.xml
42+
43+ - name : Run PHPSTAN (lite)
44+ run : ./vendor/bin/phpstan analyse lib/ -l 2 -c phpstan_lite.neon 2>&1
45+
46+ - name : Run TESTS
47+ env :
48+ AWS_ACCESS_KEY_ID : ${{ secrets.AWS_ACCESS_KEY_ID }}
49+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
50+ GOOGLE_APPLICATION_CREDENTIALS : ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS }}
51+ GOOGLE_CLOUD_PROJECT : ${{ secrets.GOOGLE_CLOUD_PROJECT }}
5452 run : php -f ./bin/ci/run_tests.php
0 commit comments