Skip to content

Feat/web app serve

Feat/web app serve #64

Workflow file for this run

name: Lint & Build
on:
pull_request:
push:
branches:
- 'develop'
env:
APP_TITLE: Timur
APP_ENVIRONMENT: testing
APP_GRAPHQL_CODEGEN_ENDPOINT: ./backend/schema.graphql
APP_GRAPHQL_DOMAIN: https://timur-fake-endpoint.com
APP_UMAMI_SRC: https://umami-fake-endpoint.com/script.js
APP_UMAMI_ID: fake-umami-id
APP_SENTRY_DSN: htts://dsn-fake@sentry.com/9999
GITHUB_WORKFLOW: true
jobs:
unused:
name: Find unused things
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Run knip
run: pnpm generate:type && pnpm lint:unused
lint-js:
name: Lint JS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Lint Javascript
run: pnpm generate:type && pnpm lint:js
css-lint:
name: Lint CSS
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Css Lint
run: pnpm lint:css
typecheck:
name: Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Lint Javascript
run: pnpm generate:type && pnpm typecheck
build:
name: Build
needs: [lint-js, css-lint, typecheck]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: pnpm/action-setup@v4
name: Install pnpm
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm generate:type && pnpm build