Skip to content

Add Hadolint GitHub Actions Workflow #34

Add Hadolint GitHub Actions Workflow

Add Hadolint GitHub Actions Workflow #34

name: Testing Pull Request
on:
pull_request:
types: [synchronize, opened, reopened]
jobs:
testing:
runs-on: ubuntu-latest
defaults:
run:
working-directory: src
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup PHP with composer v2
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
tools: composer:v2
- name: Install dependencies
run: composer install --quiet --prefer-dist --no-progress --no-interaction --no-scripts --no-ansi
- name: Pint Testing
run: ./vendor/bin/pint --verbose --test
- name: PHPStan Analyse
run: ./vendor/bin/phpstan analyse --no-progress
- name: Insights Analyse
run: php artisan insights --no-interaction --no-ansi --format=github-action
- name: Pest Testing
run: |
cp .env.example .env
php artisan key:generate
./vendor/bin/pest --debug
build-testing:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Docker Version
run: docker version
- name: Docker Compose Settings
run: |
echo APP_BUILD_TARGET=development > .env
echo "UID=$(id -u)" >> .env
echo "GID=$(id -g)" >> .env
- name: Build Docker Images
run: docker compose build
- name: Create & Start Docker Containers
run: docker compose up -d
- uses: hadolint/[email protected]
with:
dockerfile: infra/docker
recursive: true
- name: OS Version
run: |
docker compose exec app cat /etc/os-release
docker compose exec app cat /etc/debian_version
- name: PHP Version
run: docker compose exec app php --version
- name: Composer Version
run: docker compose exec app composer --version
- name: Composer Install
run: docker compose exec app composer install --quiet --prefer-dist --no-progress --no-interaction --no-scripts --no-ansi
- name: Laravel Version
run: docker compose exec app php artisan --version
- name: Migrate & Rollback & Seeding Testing
run: |
docker compose exec app cp .env.example .env
docker compose exec app php artisan migrate
docker compose exec app php artisan migrate:refresh --seed