name: CI 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: ['7.2', '7.3', '7.4'] name: Tests - PHP ${{ matrix.php }} steps: - uses: actions/checkout@v2 - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} coverage: none extensions: mbstring, xml, ctype, iconv, intl, mysql, zip, gd, ldap - run: | composer install --no-progress composer require laminas/laminas-ldap - name: Setup problem matchers for PHPUnit run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - name: Run unit tests run: composer kimai:tests-unit 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 - name: Run integration tests run: composer kimai:tests-integration 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 - name: Run migrations on MySQL run: | bin/console doctrine:database:create --if-not-exists -n bin/console doctrine:migrations:migrate -n bin/console doctrine:migrations:migrate first -n 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