App routes file source tree using code analysis #2321
This file contains 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
# This workflow will be triggered by a GitHub pull-request. | |
name: Build node packages | |
on: | |
pull_request: | |
branches: ["*"] | |
paths: | |
- "api/**" | |
- "packages/client-library-otel/**" | |
- "studio/**" | |
push: | |
branches: ["main", "release-*"] | |
paths: | |
- "api/**" | |
- "packages/client-library-otel/**" | |
- "studio/**" | |
env: | |
CARGO_TERM_COLOR: always | |
FORCE_COLOR: true | |
jobs: | |
build_packages: | |
name: Build packages | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup pnpm | |
uses: pnpm/action-setup@v4 | |
with: | |
version: 9 | |
run_install: false | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: lts/* | |
cache: "pnpm" | |
- name: Setup Biome | |
uses: biomejs/setup-biome@v2 | |
with: | |
version: 1.8.3 | |
- name: Install dependencies | |
run: pnpm install | |
env: | |
CI: true | |
- name: Build shared types | |
run: pnpm build:types | |
# Linting: we use global biome command | |
# any extra commands should be added to the lint:ci script | |
# in the package.json | |
- name: Lint all workspaces (biome) | |
run: biome ci . | |
- name: Lint all workspaces (eslint or other linters) | |
run: pnpm --recursive lint:ci | |
- name: Typecheck all workspaces | |
run: pnpm --recursive typecheck | |
# Testing | |
- name: Test Studio API | |
run: pnpm --filter @fiberplane/studio test | |
- name: Test Studio Frontend | |
run: pnpm --filter @fiberplane/studio-frontend test | |
- name: Test Client Library | |
run: pnpm --filter @fiberplane/hono-otel test | |
# Building | |
- name: Build api, frontend and client library | |
run: | | |
pnpm \ | |
--filter=@fiberplane/studio-frontend \ | |
--filter=@fiberplane/studio \ | |
--filter=@fiberplane/hono-otel \ | |
build | |
# Release a preview version | |
- name: Copy the frontend files into the api | |
run: cp -r ./studio/dist/* ./api/dist | |
- name: Publish a temporary preview version | |
run: pnpx pkg-pr-new publish --pnpm "./api" "./packages/client-library-otel" |