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 958bc8d
Show file tree
Hide file tree
Showing 2 changed files with 128 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: Run tests
# 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 phpstan
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 php-cs-fixer
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 phpcs
run: composer run phpcs
45 changes: 45 additions & 0 deletions .github/workflows/frontend.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Frontend

on: [ push, pull_request ]

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

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install pnpm
run: curl -fsSL https://get.pnpm.io/install.sh | env ENV="$HOME/.shrc" SHELL="$(which sh)" PNPM_VERSION=8.14.1 sh -
- name: Install dependencies
run: pnpm install
- run: pnpm run lint

format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install pnpm
run: curl -fsSL https://get.pnpm.io/install.sh | env ENV="$HOME/.shrc" SHELL="$(which sh)" PNPM_VERSION=8.14.1 sh -
- name: Install dependencies
run: pnpm install
- run: pnpm run format-check

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install pnpm
run: curl -fsSL https://get.pnpm.io/install.sh | env ENV="$HOME/.shrc" SHELL="$(which sh)" PNPM_VERSION=8.14.1 sh -
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm run build

0 comments on commit 958bc8d

Please sign in to comment.