👷 ci: Remove environment variable setup from shared workflow #296
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | ||
on: | ||
pull_request: | ||
branches: ["*"] | ||
push: | ||
branches: ["main"] | ||
merge_group: | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }} | ||
# You can leverage Vercel Remote Caching with Turbo to speed up your builds | ||
# @link https://turborepo.org/docs/core-concepts/remote-caching#remote-caching-on-vercel-builds | ||
env: | ||
FORCE_COLOR: 3 | ||
TURBO_TEAM: ${{ vars.TURBO_TEAM }} | ||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | ||
jobs: | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: ./tooling/github-actions/setup | ||
- name: Lint | ||
run: pnpm lint && pnpm lint:ws | ||
format: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: ./tooling/github-actions/setup | ||
- name: Format | ||
run: pnpm format | ||
typecheck: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: ./tooling/github-actions/setup | ||
- name: Typecheck | ||
run: pnpm typecheck | ||
commitlint: | ||
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: ./tooling/github-actions/setup | ||
- name: Validate current commit (last commit) with commitlint | ||
if: github.event_name == 'push' | ||
run: pnpm commitlint --last --verbose | ||
- name: Validate PR commits with commitlint | ||
if: github.event_name == 'pull_request' | ||
run: pnpm commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose | ||
build: | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: ./tooling/github-actions/setup | ||
- name: Setup environment variables for Student | ||
run: cp .env.example .env | ||
working-directory: apps/student/ | ||
- name: Setup environment variables for Library | ||
run: cp .env.example .env | ||
working-directory: apps/library/ | ||
- name: Setup environment variables for Finance | ||
run: cp .env.example .env | ||
working-directory: apps/finance/ | ||
- name: Run local databases with Docker Compose | ||
uses: hoverkraft-tech/compose-action@v2.0.1 | ||
- name: Setup database with migrations and seed data | ||
run: pnpm db:setup | ||
- name: Build monorepo | ||
run: pnpm build | ||
e2e-tests: | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
permissions: | ||
pull-requests: write | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: ./tooling/github-actions/setup | ||
- name: Setup environment variables for Student | ||
run: cp .env.example .env | ||
working-directory: apps/student/ | ||
- name: Setup environment variables for Library | ||
run: cp .env.example .env | ||
working-directory: apps/library/ | ||
- name: Setup environment variables for Finance | ||
run: cp .env.example .env | ||
working-directory: apps/finance/ | ||
- name: Install Playwright Browsers | ||
run: pnpm exec playwright install --with-deps | ||
- name: Run local databases with Docker Compose | ||
uses: hoverkraft-tech/compose-action@v2.0.1 | ||
- name: Setup database with migrations and seed data | ||
run: pnpm db:setup | ||
- name: Run Playwright tests | ||
run: cd apps/student/ && pnpm exec playwright test | ||
- uses: daun/playwright-report-summary@v3 | ||
if: always() | ||
with: | ||
report-file: results.json | ||
job-summary: false | ||
comment-title: "Playwright Test Results" | ||
custom-info: "Generated by GitHub Actions [(Link to Action)](https://github.com/marketplace/actions/playwright-report-comment)" | ||
- uses: actions/upload-artifact@v4 | ||
if: ${{ !cancelled() }} | ||
with: | ||
name: playwright-report | ||
path: playwright-report/ | ||
retention-days: 30 |