Skip to content

fix: use docker compose directly during installation instead of sail script #216

fix: use docker compose directly during installation instead of sail script

fix: use docker compose directly during installation instead of sail script #216

Workflow file for this run

name: Docker Compose Test
on:
push:
branches:
- master
- '*.x'
pull_request:
permissions:
contents: read
jobs:
tests:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
php: [8.2, 8.3, 8.4, 8.5]
laravel: [12, 13]
exclude:
- php: 8.2
laravel: 13
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }}
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
path: 'sail'
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, fileinfo
ini-values: error_reporting=E_ALL
tools: composer:v2
coverage: none
- name: Create a new laravel application
run: composer create-project laravel/laravel app ${{ matrix.laravel == 13 && 'dev-master' || format('{0}.x', matrix.laravel) }} --remove-vcs --no-interaction --prefer-dist
- name: Link Sail Repository
run: |
composer config minimum-stability dev
composer config repositories.sail path ../sail
composer require laravel/sail:* --dev -W
working-directory: app
- name: Install Sail into App
run: |
php artisan sail:install --php=${{ matrix.php }} --no-interaction
php artisan sail:publish --no-interaction
working-directory: app
- name: Remove Sail
run: composer remove laravel/sail --dev --no-interaction -W
working-directory: app
- name: Start Sail Container
run: ../sail/bin/sail up -d --wait
working-directory: app
- name: Run Migrations
run: ../sail/bin/sail artisan migrate --no-interaction
working-directory: app
- name: Run Tests in Sail Container
run: ../sail/bin/sail test
working-directory: app
- name: Stop Sail Container
run: ../sail/bin/sail down
working-directory: app