name: CI on: [push, pull_request] jobs: tests: name: Run tests runs-on: ubuntu-latest services: mysql: image: mysql:5.7 env: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: bagisto_testing MYSQL_USER: bagisto MYSQL_PASSWORD: secret ports: - 3306 options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5 steps: - name: Checkout uses: actions/checkout@v2 - name: Setup php uses: shivammathur/setup-php@v1 with: php-version: '7.3' extensions: intl, curl, mbstring, openssl, pdo, pdo_mysql, tokenizer - name: Set environment run: | set -e sed -i "s|^\(DB_HOST=\s*\).*$|\1127.0.0.1|" .env.testing sed -i "s|^\(DB_PORT=\s*\).*$|\1${{ job.services.mysql.ports['3306'] }}|" .env.testing printf "the complete .env.testing ...\n\n" cat .env.testing - name: Composer install run: | set -e composer global require hirak/prestissimo composer install --no-interaction --ansi --no-progress --no-suggest --optimize-autoloader - name: Migrate database run: set -e && php artisan migrate --env=testing - name: Execute unit tests run: set -e && vendor/bin/codecept run unit - name: Execute functional tests run: set -e && vendor/bin/codecept run functional - name: Execute trigger tests run: set -e && vendor/bin/codecept run trigger