Update all non-major dependencies #399
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: Laravel DDD CI | |
on: push | |
jobs: | |
php-code-style: | |
name: PHP - Check Style | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: PHP Check Style | |
run: vendor/bin/pint --test --ansi | |
phpstan-app: | |
name: PHPStan - analysis on app code | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: Run PHPStan analysis | |
run: vendor/bin/phpstan analyse -c phpstan-baseline-app.neon ./app --error-format=github --ansi | |
phpstan-tests: | |
name: PHPStan - analysis on test code | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: Run PHPStan analysis | |
run: vendor/bin/phpstan analyse -c phpstan-baseline-tests.neon --level=7 ./tests --error-format=github --ansi | |
rector: | |
name: PHP - Rector | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- run: vendor/bin/rector --dry-run --ansi | |
# If you to commit automatically the changes of rector, remove '--dry-run' option and uncomment the bellow lines | |
#- uses: EndBug/add-and-commit@v9 | |
# with: | |
# add: . | |
# message: "[ci-review] Rector Rectify" | |
# author_name: "GitHub Action" | |
# author_email: "[email protected]" | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
php-unit-tests: | |
name: PHP - Unit Tests | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: Run tests | |
run: php artisan test --testsuite=Unit --ansi | |
shell: bash | |
php-integration-tests-1: | |
name: PHP - Integration Tests 1/3 - Application Layer | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: laravel_ddd_testing | |
ports: | |
- 3306:3306 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: Wait for MySQL | |
run: | | |
while ! mysqladmin ping --host=127.0.0.1 --password=$MYSQL_ROOT_PASSWORD --silent; do | |
sleep 1 | |
done | |
- name: Run tests | |
run: php artisan test --parallel --processes=4 --testsuite=Integration1 --ansi | |
shell: bash | |
php-integration-tests-2: | |
name: PHP - Integration Tests 2/3 - Domain Layer | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: laravel_ddd_testing | |
ports: | |
- 3306:3306 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: Wait for MySQL | |
run: | | |
while ! mysqladmin ping --host=127.0.0.1 --password=$MYSQL_ROOT_PASSWORD --silent; do | |
sleep 1 | |
done | |
- name: Run tests | |
run: php artisan test --parallel --processes=4 --testsuite=Integration2 --ansi | |
shell: bash | |
php-integration-tests-3: | |
name: PHP - Integration Tests 3/3 - Infrastructure Layer | |
runs-on: ubuntu-22.04 | |
if: (!contains(github.ref, 'refs/heads/master') && !contains(github.ref, 'refs/heads/staging')) | |
services: | |
mysql: | |
image: mysql:8.4 | |
env: | |
MYSQL_ALLOW_EMPTY_PASSWORD: yes | |
MYSQL_DATABASE: laravel_ddd_testing | |
ports: | |
- 3306:3306 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: PHP Setup | |
uses: ./.github/actions/php-setup | |
- name: Wait for MySQL | |
run: | | |
while ! mysqladmin ping --host=127.0.0.1 --password=$MYSQL_ROOT_PASSWORD --silent; do | |
sleep 1 | |
done | |
- name: Run tests | |
run: php artisan test --parallel --processes=4 --testsuite=Integration3 --ansi | |
shell: bash |