generated from thegrind/laravel-dockerized
72 lines
1.7 KiB
YAML
72 lines
1.7 KiB
YAML
name: tests
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- develop
|
||
- main
|
||
pull_request:
|
||
branches:
|
||
- develop
|
||
- main
|
||
|
||
jobs:
|
||
ci:
|
||
runs-on: ubuntu-latest
|
||
environment: Testing
|
||
|
||
steps:
|
||
- name: Checkout
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Setup PHP
|
||
uses: shivammathur/setup-php@v2
|
||
with:
|
||
php-version: 8.4
|
||
tools: composer:v2
|
||
coverage: xdebug
|
||
|
||
- name: Setup Node
|
||
uses: actions/setup-node@v4
|
||
with:
|
||
node-version: '22'
|
||
cache: 'npm'
|
||
|
||
- name: Install Node Dependencies
|
||
run: npm i
|
||
|
||
- name: Add Flux Credentials Loaded From ENV
|
||
run: composer config http-basic.composer.fluxui.dev "${{ secrets.FLUX_USERNAME }}" "${{ secrets.FLUX_LICENSE_KEY }}"
|
||
|
||
- name: Install Dependencies
|
||
run: composer install --no-interaction --prefer-dist --optimize-autoloader
|
||
|
||
- name: Copy Environment File
|
||
run: cp .env.example .env
|
||
|
||
- name: Generate Application Key
|
||
run: php artisan key:generate
|
||
|
||
- name: Build Assets
|
||
run: npm run build
|
||
|
||
- name: Setup Test RSA Keys
|
||
run: |
|
||
echo "Setting up test RSA keys..."
|
||
mkdir -p storage/testing/oauth
|
||
php artisan app:generate-keys --path="storage/testing/oauth"
|
||
echo "✅ Test keys generated"
|
||
|
||
- name: Run Tests
|
||
run: ./vendor/bin/pest
|
||
|
||
- name: Cleanup Test Keys
|
||
if: always()
|
||
run: |
|
||
echo "Cleaning up test RSA keys..."
|
||
if [ -d "storage/testing" ]; then
|
||
rm -rf storage/testing
|
||
echo "✅ Test storage directory cleaned up"
|
||
else
|
||
echo "ℹ️ No test storage directory found to clean up"
|
||
fi |