Skip to content

Merge pull request #1579 from cultuurnet/dependabot/npm_and_yarn/type… #7653

Merge pull request #1579 from cultuurnet/dependabot/npm_and_yarn/type…

Merge pull request #1579 from cultuurnet/dependabot/npm_and_yarn/type… #7653

Workflow file for this run

name: CI
on: push
jobs:
lint:
name: Run linting
runs-on: ubuntu-latest
steps:
- name: 📤 Checkout project
uses: actions/checkout@v3
- name: 📩 Fetch vendor from cache
uses: actions/cache@v3
id: cache
with:
path: vendor
key: composer-${{ hashFiles('**/composer.lock') }}
- name: 🐘 Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: "8.2"
env:
update: true
- name: 🔢 Create .env file
run: cp .env.ci .env
- name: 📦 Install composer dependencies
run: |
composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
composer install --quiet --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: 🔑 Generate a laravel key
run: php artisan key:generate
- name: ✅ Run linting
run: ./vendor/bin/php-cs-fixer fix --dry-run -vvv
stan:
name: Run static analysis
runs-on: ubuntu-latest
steps:
- name: 📤 Checkout project
uses: actions/checkout@v3
- name: 📩 Fetch vendor from cache
uses: actions/cache@v3
id: cache
with:
path: vendor
key: composer-${{ hashFiles('**/composer.lock') }}
- name: 🐘 Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: "8.2"
env:
update: true
- name: 🔢 Create .env file
run: cp .env.ci .env
- name: 📦 Install composer dependencies
run: |
composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
composer install --quiet --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: 🔑 Generate a laravel key
run: php artisan key:generate
- name: ✅ Run static analysis
run: ./vendor/bin/phpstan analyse --no-progress
test:
name: Run tests
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
env:
MYSQL_ALLOW_EMPTY_PASSWORD: false
MYSQL_ROOT_PASSWORD: secret
MYSQL_USER: ppf-user
MYSQL_PASSWORD: secret
MYSQL_DATABASE: testing
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: 📤 Checkout project
uses: actions/checkout@v3
- name: 📩 Fetch vendor from cache
uses: actions/cache@v3
id: cache
with:
path: vendor
key: composer-${{ hashFiles('**/composer.lock') }}
- name: 🐘 Setup PHP
uses: shivammathur/setup-php@master
with:
php-version: "8.2"
env:
update: true
- name: 🐢 Setup NodeJS
uses: actions/setup-node@v3
with:
node-version: 18.14
- name: 🔢 Create .env file
run: cp .env.ci .env
- name: 📦 Install composer dependencies
run: |
composer config "http-basic.nova.laravel.com" "${{ secrets.NOVA_USERNAME }}" "${{ secrets.NOVA_PASSWORD }}"
composer install --quiet --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: 🔑 Generate a laravel key
run: php artisan key:generate
- name: Install npm dependencies
run: npm ci
- name: 💅🏻 Build frontend assets
run: npm run build
- name: ✅ Run tests
run: php artisan test
frontend-format-check:
name: Check formatting frontend files
runs-on: ubuntu-latest
steps:
- name: 📤 Checkout project
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.14
- name: Install npm dependencies
run: npm ci
- name: Run format check
run: npm run format:check
frontend-lint-check:
name: Check linting frontend files
runs-on: ubuntu-latest
steps:
- name: 📤 Checkout project
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.14
- name: Install npm dependencies
run: npm ci
- name: Run lint check
run: npm run lint:check
frontend-types-check:
name: Check types frontend files
runs-on: ubuntu-latest
steps:
- name: 📤 Checkout project
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18.14
- name: Install npm dependencies
run: npm ci
- name: Run types check
run: npm run types:check