* allow to input password interactively in console * added block to simplify overwriting export template parts * prevent installation in PHP 8.1 * composer update * phpunit version to 9 * support negative amounts in excel export * added system configuration actions for calendar, weekly timesheet, users * added method to render text with full markdown support
70 lines
2.4 KiB
YAML
70 lines
2.4 KiB
YAML
name: Coverage
|
|
on:
|
|
pull_request: null
|
|
push:
|
|
branches:
|
|
- master
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-latest
|
|
services:
|
|
mysql:
|
|
image: mysql:5.7
|
|
env:
|
|
MYSQL_ALLOW_EMPTY_PASSWORD: false
|
|
MYSQL_ROOT_PASSWORD: kimai
|
|
MYSQL_DATABASE: kimai
|
|
ports:
|
|
- 3306/tcp
|
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
|
strategy:
|
|
matrix:
|
|
php: ['8.0']
|
|
|
|
name: Coverage (${{ matrix.php }})
|
|
steps:
|
|
|
|
- name: Clone Kimai
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Setup PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php }}
|
|
coverage: pcov
|
|
extensions: mbstring, xml, ctype, iconv, intl, mysql, zip, gd, ldap
|
|
|
|
- name: Determine composer cache directory
|
|
id: composer-cache
|
|
run: "echo \"::set-output name=directory::$(composer config cache-dir)\""
|
|
|
|
- name: Cache Composer dependencies
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: "${{ steps.composer-cache.outputs.directory }}"
|
|
key: ${{ runner.os }}-${{ matrix.php }}-${{ hashFiles('**/composer.lock') }}
|
|
|
|
- name: Install dependencies
|
|
run: composer install
|
|
|
|
- name: Install LDAP package
|
|
run: composer require laminas/laminas-ldap
|
|
|
|
- name: Setup problem matchers for PHPUnit
|
|
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
|
|
|
|
- name: Run tests
|
|
run: vendor/bin/phpunit tests/ --coverage-clover=coverage.xml
|
|
env:
|
|
DATABASE_URL: mysql://root:kimai@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/kimai?serverVersion=5.7
|
|
APP_ENV: dev
|
|
MAILER_URL: null://localhost
|
|
TEST_WITH_BUNDLES: 1
|
|
|
|
- name: Upload code coverage
|
|
uses: codecov/codecov-action@v2
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
files: ./coverage.xml
|
|
fail_ci_if_error: true
|