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@v1 with: php-version: ${{ matrix.php }} coverage: none extensions: mbstring, xml, ctype, iconv, intl, pdo_sqlite, mysql - run: | composer install --no-progress composer require zendframework/zend-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 - 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 APP_ENV: dev MAILER_URL: null://localhost - name: Run migrations on SQLite run: | bin/console doctrine:database:create -n bin/console doctrine:migrations:migrate -n bin/console doctrine:migrations:migrate first -n env: DATABASE_URL: sqlite:///%kernel.project_dir%/var/data/kimai_migrations.sqlite APP_ENV: dev MAILER_URL: null://localhost - name: Run integration tests run: composer kimai:tests-integration