Files
web/.github/workflows/pr.yml
Dan Ditomaso daf7c22b60 chore: move packages/web → apps/web
Web is a deployable SPA, not a library — no @meshtastic scope, no
exports map, no npm/JSR publish target, no other workspace member
depends on it. Conventional pnpm/Turbo/Nx layout puts deployables
under apps/ and libraries under packages/. Doing the move now (after
PR #9 / #10 / unread / useConnections refactor land but before Phase
C ships) so the lib-only packages/* directory remains stable as we
delete packages/core.

Mechanics:
- pnpm-workspace.yaml: add `apps/*` to packages.
- git mv packages/web apps/web (entire directory tree).
- vite.config.ts uses process.cwd(), so no internal path edits needed.
- pnpm filter commands still resolve by package name (`pnpm --filter
  meshtastic-web run build`) — no script changes.

External-path consumers updated:
- README.md table row.
- tsconfig.json reference.
- 7 GH workflows (pr.yml, nightly.yml, release-web.yml, the three
  crowdin-*.yml, release-packages.yml). The
  packages/release-packages.yml `packages/* | grep -v packages/web`
  filter is now redundant since web isn't in packages/* anymore — it
  collapses to plain `ls -d packages/*`.

Verified: web build clean, web 236 / sdk 65 / sdk-react 8 / storage
30 tests all pass.
2026-04-26 11:10:23 -04:00

55 lines
1.1 KiB
YAML

name: Pull Request CI
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: read
concurrency:
group: pr-${{ github.event.pull_request.number }}-ci
cancel-in-progress: true
env:
CI: true
jobs:
build-and-package:
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.draft == false }}
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 24
cache: pnpm
cache-dependency-path: "**/pnpm-lock.yaml"
- name: Prefetch dependencies
run: pnpm fetch
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline
- name: Run linter
run: pnpm run lint
- name: Check formatter
run: pnpm run check
- name: Run tests
run: pnpm run test
- name: Build web package
run: pnpm --filter "./apps/web" run build