change php version for codecov report #24
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
env: | |
PLUGIN_DIR: plugins/AmazonSnsCallbackBundle | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-versions: ["8.1"] | |
db-types: ["mysql"] | |
mautic-versions: ["5.x"] | |
name: Tests on PHP ${{ matrix.php-versions }}, ${{ matrix.db-types }}, Mautic ${{ matrix.mautic-versions }} | |
services: | |
database: | |
image: ${{ matrix.db-types == 'mysql' && 'mysql:8.0' || 'mariadb:10.3' }} | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: mautictest | |
ports: | |
- 3306 | |
options: >- | |
--shm-size=2gb | |
--name=${{ matrix.db-types }} | |
--tmpfs=/var/lib/mysql | |
--health-cmd="mysqladmin ping" | |
--health-interval=10s | |
--health-timeout=5s | |
--health-retries=3 | |
steps: | |
- name: Checkout Mautic | |
uses: actions/checkout@v3 | |
with: | |
repository: mautic/mautic | |
ref: ${{ matrix.mautic-versions }} | |
- name: Checkout this plugin | |
uses: actions/checkout@v3 | |
with: | |
path: ${{ env.PLUGIN_DIR }} | |
- name: Setup PHP with Composer and extensions | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-versions }} | |
ini-values: -dpcov.enabled=0, pcov.directory=." | |
extensions: mbstring, xml, ctype, iconv, intl, pdo_sqlite, mysql, pdo_mysql | |
coverage: pcov | |
- name: Add MySQL config file | |
run: | | |
mysqldump --version | |
mysqldump --print-defaults | |
cp .github/ci-files/.my.cnf ~/.my.cnf | |
mysqldump --print-defaults | |
- name: Set SYMFONY_ENV to test | |
run: | | |
echo "SYMFONY_ENV=test" >> $GITHUB_ENV | |
echo "MAUTIC_ENV=test" >> $GITHUB_ENV | |
- name: Get Composer cache directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Cache Composer dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install Composer dependencies | |
run: composer install | |
- name: Install Mautic | |
env: | |
DB_PORT: ${{ job.services.database.ports[3306] }} | |
run: | | |
cp ./.github/ci-files/local.php ./app/config/local.php | |
php bin/console mautic:install --force http://localhost | |
- name: Install Mautic plugins | |
env: | |
DB_PORT: ${{ job.services.database.ports[3306] }} | |
run: php bin/console mautic:plugins:install --env=dev | |
- name: Run code style check | |
run: bin/php-cs-fixer fix ${{ env.PLUGIN_DIR }} --config=.php-cs-fixer.php -v --dry-run --show-progress=dots --diff | |
- name: Run PHPSTAN | |
run: composer phpstan -- ${{ env.PLUGIN_DIR }} | |
- name: Run Rector | |
run: composer rector -- --dry-run --no-progress-bar ${{ env.PLUGIN_DIR }} | |
- name: Run Twig Lint | |
run: bin/console lint:twig ${{ env.PLUGIN_DIR }} | |
- name: Run PHPUNIT tests | |
env: | |
DB_PORT: ${{ job.services.database.ports[3306] }} | |
run: XDEBUG_MODE=coverage APP_DEBUG=0 php -dpcov.enabled=1 -dpcov.directory=. -dpcov.exclude="~tests|themes|vendor~" bin/phpunit -d memory_limit=1G --bootstrap vendor/autoload.php --configuration ${{ env.PLUGIN_DIR }}/phpunit.xml --coverage-clover=${{ env.PLUGIN_DIR }}/coverage.xml --coverage-text | |
- name: Coverage report | |
run: cat ${{ env.PLUGIN_DIR }}/coverage.xml | |
- name: Upload coverage report | |
if: ${{ matrix.php-versions == '8.1' && matrix.db-types == 'mysql' && matrix.mautic-versions == '5.x' }} | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true | |
working-directory: ${{ env.PLUGIN_DIR }} | |
verbose: true | |
- name: Upload logs as artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: mautic-logs | |
path: var/logs/ |