getting fixes to work #240
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: Authentication 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, imagick | ||
- 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: Extract branch name | ||
shell: bash | ||
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_ENV | ||
id: extract_branch | ||
- name: Install DevDojo Auth from current branch | ||
run: composer require devdojo/auth:dev-${{ env.branch }} --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: Publish the DevDojo Auth Migrations | ||
run: php artisan vendor:publish --tag=auth:migrations | ||
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: 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 | ||
run: composer require doctrine/dbal | ||
working-directory: ./laravel_app | ||
- name: Run the migrations | ||
run: php artisan migrate | ||
working-directory: ./laravel_app | ||
- name: Clean up composer.json - Remove PHPUnit & trailing commas | ||
run: | | ||
sed -i '/"phpunit\/phpunit"/d' composer.json | ||
sed -i '/"nunomaduro\/collision": "\^8.0",/s/,$//' composer.json | ||
sed -i 's/,\(\s*\}\)/\1/' composer.json | ||
working-directory: ./laravel_app | ||
- name: Validate composer.json format | ||
run: php -r 'json_decode(file_get_contents("composer.json")) ?: exit(1);' | ||
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, PHPStan, Dusk, and Dusk API Conf | ||
run: | | ||
composer require pestphp/pest --dev --with-all-dependencies | ||
composer require larastan/larastan:^2.0 --dev --with-all-dependencies | ||
composer require laravel/dusk --dev --with-all-dependencies | ||
composer require alebatistella/duskapiconf --dev --with-all-dependencies | ||
composer require protonemedia/laravel-dusk-fakes:^1.6 --dev --with-all-dependencies | ||
working-directory: ./laravel_app | ||
- name: Start Chrome Driver and PHP Server | ||
run: | | ||
php artisan dusk:chrome-driver --detect & | ||
./vendor/laravel/dusk/bin/chromedriver-linux & | ||
php artisan serve --no-reload & | ||
working-directory: ./laravel_app | ||
- name: Run Tests | ||
run: ./vendor/bin/pest | ||
working-directory: ./laravel_app | ||
- name: Run Dusk Tests | ||
env: | ||
APP_URL: http://127.0.0.1:8000 | ||
APP_ENV: testing | ||
run: php artisan dusk -vvv | ||
working-directory: ./laravel_app |