Skip to content

build(deps-dev): bump laravel/pint from 1.13.6 to 1.13.10 #40

build(deps-dev): bump laravel/pint from 1.13.6 to 1.13.10

build(deps-dev): bump laravel/pint from 1.13.6 to 1.13.10 #40

Workflow file for this run

# GitHub Action for Laravel with MySQL
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
IMAGE_NAME: vatsim-scandinavia/booking
TARGET_PLATFORMS: linux/amd64
jobs:
test-php-mysql:
name: Test PHP ${{ matrix.php-versions }} + Node ${{ matrix.node }} with MySQL
runs-on: ubuntu-latest
env:
DB_DATABASE: laravel
DB_USERNAME: root
DB_PASSWORD: password
BROADCAST_DRIVER: log
# CACHE_DRIVER: redis
# QUEUE_CONNECTION: redis
# SESSION_DRIVER: redis
services:
mysql:
image: mysql:8.0
env:
MYSQL_ALLOW_EMPTY_PASSWORD: false
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: laravel
ports:
- 3306/tcp
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
# redis:
# image: redis
# ports:
# - 6379/tcp
# options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
fail-fast: false
matrix:
php-versions: ["8.1", "8.2"]
node: [16, 18]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, dom, fileinfo, mysql
coverage: xdebug
tools: phpcs, phpcpd
- name: Start mysql service
run: sudo systemctl start mysql.service
- uses: ramsey/composer-install@v2
- name: Prepare the application
run: |
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan key:generate
- name: Clear Config
run: php artisan config:clear
- name: Setup NPM
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: "npm"
- name: Build assets
run: |
npm ci
npm run production --no-progress
- name: Run Migration
run: php artisan migrate -v
env:
DB_PORT: ${{ job.services.mysql.ports['3306'] }}
# REDIS_PORT: ${{ job.services.redis.ports['6379'] }}
- name: Run tests
run: php artisan test --coverage
env:
DB_PORT: ${{ job.services.mysql.ports['3306'] }}
# REDIS_PORT: ${{ job.services.redis.ports['6379'] }}
- name: PHP_CodeSniffer
run: phpcs --extensions=php app
- name: Copy/Paste Detector
run: phpcpd app/ --min-lines=50
test-php-postgresql:
name: Test PHP ${{ matrix.php-versions }} + Node ${{ matrix.node }} with PostgreSQL
runs-on: ubuntu-latest
env:
BROADCAST_DRIVER: log
# CACHE_DRIVER: redis
# QUEUE_CONNECTION: redis
# SESSION_DRIVER: redis
DB_CONNECTION: pgsql
DB_HOST: localhost
DB_PASSWORD: postgres
DB_USERNAME: postgres
DB_DATABASE: postgres
services:
postgres:
image: postgres:14.1
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
ports:
- 5432/tcp
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
# redis:
# image: redis
# ports:
# - 6379/tcp
# options: --health-cmd="redis-cli ping" --health-interval=10s --health-timeout=5s --health-retries=3
strategy:
fail-fast: false
matrix:
php-versions: ["8.1"]
node: [16, 18]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, dom, fileinfo, pgsql
coverage: xdebug
tools: phpcs, phpcpd
- uses: ramsey/composer-install@v2
- name: Prepare the application
run: |
php -r "file_exists('.env') || copy('.env.example', '.env');"
php artisan key:generate
- name: Setup NPM
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: "npm"
- name: Build assets
run: |
npm ci
npm run production --no-progress
- name: Clear Config
run: php artisan config:clear
- name: Run Migration
run: php artisan migrate -v
env:
DB_PORT: ${{ job.services.postgres.ports[5432] }}
# REDIS_PORT: ${{ job.services.redis.ports['6379'] }}
- name: Run tests
run: php artisan test --coverage
env:
DB_PORT: ${{ job.services.postgres.ports[5432] }}
# REDIS_PORT: ${{ job.services.redis.ports['6379'] }}
- name: PHP_CodeSniffer
run: phpcs --extensions=php app
- name: Copy/Paste Detector
run: phpcpd app/ --min-lines=50
build-container:
name: Build Container
runs-on: ubuntu-latest
steps:
- name: configure docker buildx
uses: docker/setup-buildx-action@v2
- name: login to github container registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: setup container metadata
id: meta
uses: docker/metadata-action@v4
with:
images: |
ghcr.io/${{ env.IMAGE_NAME }}
tags: |
type=ref,event=pr
type=sha,event=branch,prefix=
type=semver,event=tag,pattern=v{{version}}
type=semver,event=tag,pattern=v{{major}}
type=raw,value=latest,enable=${{ github.ref == format('refs/heads/{0}', 'main') }}
- name: build & push container image
uses: docker/build-push-action@v4
with:
context: "{{defaultContext}}:."
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
platforms: ${{ env.TARGET_PLATFORMS }}