Skip to content

Commit

Permalink
GitHub: Add initial backend & frontend workflows
Browse files Browse the repository at this point in the history
There is definitely room for improvement here (e.g. script duplication
across jobs, passing artifacts from one job to the next, caching
dependencies etc) but this is a simple starting point.
  • Loading branch information
philbates35 committed Jan 17, 2024
1 parent 9c93c81 commit 677a201
Show file tree
Hide file tree
Showing 2 changed files with 119 additions and 0 deletions.
83 changes: 83 additions & 0 deletions .github/workflows/backend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Backend

on: [ push, pull_request ]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
- uses: actions/checkout@v4
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
# - name: Create Database
# run: |
# mkdir -p database
# touch database/database.sqlite
- name: Execute tests (Unit and Feature tests) via PHPUnit
# env:
# DB_CONNECTION: sqlite
# DB_DATABASE: database/database.sqlite
run: composer run test

phpstan:
runs-on: ubuntu-latest
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
- uses: actions/checkout@v4
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Run static analysis
run: composer run phpstan

php-cs-fixer:
runs-on: ubuntu-latest
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
- uses: actions/checkout@v4
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Run static analysis
run: composer run php-cs-fixer -- --dry-run

phpcs:
runs-on: ubuntu-latest
steps:
- uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
- uses: actions/checkout@v4
- name: Copy .env
run: php -r "file_exists('.env') || copy('.env.example', '.env');"
- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --prefer-dist
- name: Generate key
run: php artisan key:generate
- name: Directory Permissions
run: chmod -R 777 storage bootstrap/cache
- name: Run static analysis
run: composer run phpcs
36 changes: 36 additions & 0 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Frontend

on: [ push, pull_request ]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=8.14.1 sh -
- run: pnpm install
- run: pnpm run test

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=8.14.1 sh -
- run: pnpm install
- run: pnpm run lint

format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=8.14.1 sh -
- run: pnpm install
- run: pnpm run format-check

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=8.14.1 sh -
- run: pnpm install
- run: pnpm run build

0 comments on commit 677a201

Please sign in to comment.