diff --git a/.github/workflows/dusk.yml b/.github/workflows/dusk.yml new file mode 100644 index 000000000..8693b7903 --- /dev/null +++ b/.github/workflows/dusk.yml @@ -0,0 +1,43 @@ +name: Dusk +on: [push] +jobs: + + dusk-php: + runs-on: ubuntu-latest + env: + APP_URL: "http://127.0.0.1:8000" + DB_USERNAME: root + DB_PASSWORD: root + MAIL_MAILER: log + steps: + - uses: actions/checkout@v3 + - name: Prepare The Environment + run: cp .env.example .env + - name: Create Database + run: | + sudo systemctl start mysql + mysql --user="root" --password="root" -e "CREATE DATABASE \`panel\` character set UTF8mb4 collate utf8mb4_bin;" + - name: Install Composer Dependencies + run: composer install --no-progress --prefer-dist --optimize-autoloader + - name: Generate Application Key + run: php artisan key:generate + - name: Upgrade Chrome Driver + run: php artisan dusk:chrome-driver --detect + - name: Start Chrome Driver + run: ./vendor/laravel/dusk/bin/chromedriver-linux & + - name: Run Laravel Server + run: php artisan serve --no-reload & + - name: Run Dusk Tests + run: php artisan dusk + - name: Upload Screenshots + if: failure() + uses: actions/upload-artifact@v2 + with: + name: screenshots + path: tests/Browser/screenshots + - name: Upload Console Logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: console + path: tests/Browser/console