Skip to content

Add client about page #419

Add client about page

Add client about page #419

Workflow file for this run

name: Laravel
on:
push:
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Setup nix
uses: cachix/install-nix-action@v20
- name: Install PHP dependencies
run: nix develop --command composer install -q --no-interaction --no-progress --no-scripts --prefer-dist
- name: Run phpCS linter
run: nix develop --command vendor/bin/phpcs --standard=phpcs.xml
- name: Run pint linter
run: nix develop --command vendor/bin/pint -v --test
- name: Run phpstan static analysis
run: nix develop --command vendor/bin/phpstan analyse --memory-limit=256M
test:
name: Test
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.0
env:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: hotel-hamlet
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping"
--health-interval=10s
--health-timeout=5s
--health-retries=3
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Setup nix
uses: cachix/install-nix-action@v20
- name: Install PHP dependencies
run: nix develop --command composer install -q --no-interaction --no-progress --no-scripts --prefer-dist
- name: Copy .env
run: nix develop --command php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Generate key
run: nix develop --command php artisan key:generate
- name: Generate typescript types
run: nix develop --command composer ts
- name: Directory permissions
run: chmod -R 777 storage bootstrap/cache
- name: Install node dependencies
run: nix develop --command npm ci
- name: Build for production
run: nix develop --command npm run build
- name: Execute tests (Unit and Feature tests) via PHPUnit
env:
DB_HOST: 127.0.0.1
DB_PORT: 3306
DB_DATABASE: hotel-hamlet
DB_USERNAME: root
DB_PASSWORD: secret
run: nix develop --command vendor/bin/phpunit
deploy:
name: Deploy
runs-on: ubuntu-latest
needs: [lint, test]
if: github.ref == 'refs/heads/master'
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
steps:
- name: Checkout source code
uses: actions/checkout@v3
- name: Setup flyctl
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy to fly
run: flyctl deploy --remote-only