Adding latest updates #7
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.2' | |
extensions: mbstring, xml, ctype, iconv, mysql | |
- name: Cache Composer Packages | |
uses: actions/cache@v2 | |
with: | |
path: ~/.composer/cache | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: | | |
${{ runner.os }}-composer-git | |
- name: Setup Laravel Application | |
run: composer create-project --prefer-dist laravel/laravel laravel_app --no-interaction | |
- name: Set Working Directory | |
run: echo "Change directory context to Laravel app" | |
working-directory: ./laravel_app | |
- name: Install DevDojo Auth dev-main | |
run: composer require devdojo/auth:dev-main --with-all-dependencies | |
working-directory: ./laravel_app | |
- name: Publish the DevDojo Auth Assets | |
run: php artisan vendor:publish --tag=auth:assets | |
working-directory: ./laravel_app | |
- name: Publish the DevDojo Configs | |
run: php artisan vendor:publish --tag=auth:config | |
working-directory: ./laravel_app | |
- name: Remove current tests and symlink to DevDojo Auth | |
run: | | |
rm -rf tests | |
ln -s vendor/devdojo/auth/tests tests | |
working-directory: ./laravel_app | |
- name: Create sqlite file | |
run: touch database/database.sqlite | |
working-directory: ./laravel_app | |
- name: List out .env | |
run: cat .env | |
working-directory: ./laravel_app | |
# Testing on a mac, this command should be: | |
# sed -i '' 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env | |
# sed -i '' 's/^DB_DATABASE=laravel/#DB_DATABASE=laravel/' .env | |
- name: Updating values in the .env | |
run: | | |
sed -i 's/DB_CONNECTION=mysql/DB_CONNECTION=sqlite/' .env | |
sed -i 's/^DB_DATABASE=laravel/#DB_DATABASE=laravel/' .env | |
working-directory: ./laravel_app | |
- name: Include Doctrine DBAL Package which is used for renaming columns | |
run: composer require doctrine/dbal | |
working-directory: ./laravel_app | |
- name: Run the migrations | |
run: php artisan migrate | |
working-directory: ./laravel_app | |
- name: Run the Auth Migrations | |
run: php artisan migrate --path=vendor/devdojo/auth/database/migrations | |
working-directory: ./laravel_app | |
# Testing on a mac, this command should be: | |
# sed -i '' '/"phpunit\/phpunit"/d' composer.json | |
- name: Remove PHPUnit from composer.json | |
run: sed -i '/"phpunit\/phpunit"/d' composer.json | |
working-directory: ./laravel_app | |
- name: Remove composer.lock and re-run composer install | |
run: | | |
rm composer.lock | |
composer install | |
working-directory: ./laravel_app | |
- name: Install PestPHP | |
run: composer require pestphp/pest --dev --with-all-dependencies | |
working-directory: ./laravel_app | |
- name: Run Tests | |
run: ./vendor/bin/pest | |
working-directory: ./laravel_app |