Skip to content

Commit 4c46625

Browse files
committed
chore: split types:build and build scripts for speedier deploys. Make typechecking and prettier not mandatory for deploys.
1 parent ab968c0 commit 4c46625

File tree

7 files changed

+68
-16
lines changed

7 files changed

+68
-16
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
- 'packages/**'
6565
6666
build-and-push:
67-
needs: [check-changes]
67+
needs: [lint, check-changes]
6868
runs-on: ubuntu-latest
6969
permissions:
7070
contents: read

.github/workflows/lint.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Linter & Types
1+
name: Linter
22

33
on:
44
pull_request:
@@ -51,15 +51,9 @@ jobs:
5151
- name: Use Turbo to build affected packages
5252
run: pnpm turbo build --cache-dir=.turbo --filter="./packages/**"
5353

54-
- name: Prettier
55-
run: pnpm prettier:check
56-
5754
- name: Node.js Lint
5855
run: pnpm lint
5956

60-
- name: TypeScript
61-
run: pnpm tc --cache-dir=.turbo
62-
6357
python-lint:
6458
runs-on: ubuntu-latest
6559

.github/workflows/typecheck.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Typecheck
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
workflow_call:
8+
inputs:
9+
workflow_call:
10+
type: boolean
11+
required: false
12+
default: false
13+
14+
jobs:
15+
node-lint:
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
- name: Checkout repository
20+
uses: actions/checkout@v3
21+
with:
22+
fetch-depth: 2
23+
24+
- name: Setup Node.js
25+
uses: actions/setup-node@v3
26+
with:
27+
node-version: 22.x
28+
29+
- name: Install pnpm
30+
uses: pnpm/action-setup@v3
31+
with:
32+
version: 9
33+
run_install: false
34+
35+
- name: Get pnpm store directory
36+
shell: bash
37+
run: |
38+
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
39+
40+
- name: Setup pnpm cache
41+
uses: actions/cache@v3
42+
with:
43+
path: ${{ env.STORE_PATH }}
44+
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
45+
restore-keys: |
46+
${{ runner.os }}-pnpm-store-
47+
48+
- name: Install Node.js dependencies
49+
run: pnpm install
50+
51+
- name: Use Turbo to build affected packages
52+
run: pnpm turbo build --cache-dir=.turbo --filter="./packages/**"
53+
54+
- name: Build package types
55+
run: pnpm turbo types:build --cache-dir=.turbo --filter="./packages/**"
56+
57+
- name: Typecheck
58+
run: pnpm tc

.tmuxinator.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@ windows:
55
layout: main-horizontal
66
panes:
77
- pnpm dev --filter='./apps/*'
8-
- cd packages/core && pnpm build:watch
9-
- cd packages/constants && pnpm build:watch
8+
- cd packages/core && pnpm types:build:watch
9+
- cd packages/constants && pnpm types:build:watch
1010
- packages:
1111
layout: main-horizontal
1212
panes:
13-
- pnpm build --filter='./packages/sdks/typescript' --filter='./packages/telemetry/typescript' --filter='./packages/constants' --filter='./packages/web-ui'
13+
- pnpm build --filter='./packages/**'
1414
- cd apps/web && pnpm workers:build
1515
- docker: docker compose up db redis mailpit --menu=false
1616
- studio: cd packages/core && pnpm db:studio

packages/constants/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
"description": "Common constants without any dependencies",
88
"type": "module",
99
"scripts": {
10-
"build": "tsc -p tsconfig.build.json",
11-
"build:watch": "tsc --watch -p tsconfig.build.json",
10+
"types:build": "tsc -p tsconfig.build.json",
11+
"types:build:watch": "tsc --watch -p tsconfig.build.json",
1212
"lint": "eslint src",
1313
"tc": "tsc --noEmit"
1414
},

packages/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@
114114
}
115115
},
116116
"scripts": {
117-
"build": "tsc -p tsconfig.build.json",
118-
"build:watch": "tsc --watch -p tsconfig.build.json",
117+
"types:build": "tsc -p tsconfig.build.json",
118+
"types:build:watch": "tsc --watch -p tsconfig.build.json",
119119
"db:generate": "drizzle-kit generate",
120120
"db:generate:custom": "pnpm run db:generate --custom",
121121
"db:migrate": "drizzle-kit migrate --config=./drizzle.config.ts",

packages/web-ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "Latitude web ui elements",
55
"private": true,
66
"scripts": {
7-
"build": "tsc -p tsconfig.build.json",
7+
"types:build": "tsc -p tsconfig.build.json",
88
"lint": "eslint ./src",
99
"tc": "tsc --noEmit",
1010
"test": "vitest run",

0 commit comments

Comments
 (0)