diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index b19d03a..746f9a7 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -1,4 +1,4 @@ -name: Laravel +name: Laravel test via MySQL on: push: @@ -11,32 +11,43 @@ jobs: runs-on: ubuntu-latest + services: + mysql: + image: mysql:5.7 + env: + MYSQL_DATABASE: test_db + MYSQL_USER: user + MYSQL_PASSWORD: secret + MYSQL_ROOT_PASSWORD: secretroot + ports: + - 3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + steps: - - uses: shivammathur/setup-php@15c43e89cdef867065b0213be354c2841860869e - with: - php-version: '8.1' - - uses: actions/checkout@v3 + - uses: actions/checkout@v2 + + - name: Verify MySQL connection + run: | + mysql --version + sudo apt-get install -y mysql-client + mysql --host 127.0.0.1 --port ${{ job.services.mysql.ports['3306'] }} -uuser -psecret -e "SHOW DATABASES" + - name: Copy .env run: php -r "file_exists('.env') || copy('.env.example', '.env');" + - name: Install Dependencies -# run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist - run: composer update -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist -# - name: Compser dump -# run: composer dump-autoload --no-ansi --no-interaction --no-scripts + run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist + + - name: Generate key + run: php artisan key:generate + - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache - - name: Create Database + + - name: Execute tests (Unit and Feature tests) via PHPUnit env: - DB_CONNECTION: sqlite - DB_DATABASE: database/database.sqlite - run: | - mkdir -p database - touch database/database.sqlite -# - name: Execute tests (Unit and Feature tests) via PHPUnit -# run: vendor/bin/phpunit - - name: Database seeder test - run: php artisan migrate:fresh --seed - - name: Generate key - run: php artisan key:generate - - name : Developer test - run: php artisan test + MYSQL_DATABASE: test_db + DB_USERNAME: user + DB_PASSWORD: secret + DB_PORT: ${{ job.services.mysql.ports[3306] }} + run: vendor/bin/phpunit