use links for actions #24
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: CI | |
# You want to run the tests on every push, and for pull requests. | |
on: [ push, pull_request ] | |
jobs: | |
tests: | |
runs-on: ubuntu-latest | |
strategy: | |
max-parallel: 2 | |
matrix: | |
php-versions: ['8.2'] | |
name: PHP ${{ matrix.php-versions }} | |
services: | |
mysql: | |
image: mysql:8.0 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: testing | |
ports: | |
- 3306:3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
# Environment variables during project setup and test run. | |
env: | |
DB_CONNECTION: mysql | |
DB_HOST: 127.0.0.1 | |
DB_PORT: 3306 | |
DB_DATABASE: testing | |
DB_USERNAME: root | |
DB_PASSWORD: "" | |
ADMIN_PREFIX: app | |
IS_LIVE: true | |
TRIAL_DAYS: 14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@master | |
with: | |
php-version: ${{ matrix.php-versions }} | |
coverage: xdebug | |
- name: Validate composer.json and composer.lock | |
run: composer validate | |
- name: Copy .env | |
run: php -r "file_exists('.env') || copy('.env.example', '.env');" | |
- name: Install Dependencies | |
run: composer update --no-interaction | |
- name: Migrate DB | |
run: php artisan migrate --seed | |
- name: Generate key | |
run: php artisan key:generate | |
- name: Set storage link | |
run: php artisan storage:link | |
- name: Directory Permissions | |
run: chmod -R 777 storage bootstrap/cache | |
- name: PINT | |
run: ./vendor/bin/pint --test | |
- name: Run test suite | |
run: ./vendor/bin/pest --parallel |