diff --git a/.github/workflows/laravel.yml b/.github/workflows/laravel.yml index 7ba55c0e4..d5d59ac06 100644 --- a/.github/workflows/laravel.yml +++ b/.github/workflows/laravel.yml @@ -2,40 +2,55 @@ name: Laravel on: push: - branches: [ master, dev ] + branches: [master, dev] pull_request: - branches: [ master, dev ] + branches: [master, dev] jobs: laravel-tests: - runs-on: ubuntu-latest services: - mysql: - image: mariadb:10 - env: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: TEST - MYSQL_USER: TEST - MYSQL_PASSWORD: TEST - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + mysql: + image: mariadb:10 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: TEST + MYSQL_USER: TEST + MYSQL_PASSWORD: TEST + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: '7.4' + extensions: gd, intl, memcached, sodium + composer: v2 + - uses: actions/checkout@v2 + - name: Copy .env - run: php -r "file_exists('.env') || copy('.env.test', '.env');" + run: cp .env.test .env + - name: Install Dependencies run: composer install --no-ansi --no-interaction --no-scripts --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 run: | - mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" - if [[ -f /etc/mysql/my.cnf ]]; then sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; fi + mysql -h 127.0.0.1 -u root -e "SET GLOBAL innodb_file_per_table = 1;" + + if [[ -f /etc/mysql/my.cnf ]]; then + sudo sed -i "s/\[mysqld\]/\[mysqld\]\ngroup_concat_max_len = 8192/" /etc/mysql/my.cnf; + fi + - name: Execute tests (Unit and Feature tests) via PHPUnit env: DB_CONNECTION: mysql