Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
11 changes: 0 additions & 11 deletions .agents/plugins/marketplace.json

This file was deleted.

11 changes: 0 additions & 11 deletions .claude-plugin/marketplace.json

This file was deleted.

28 changes: 14 additions & 14 deletions .github/workflows/review-cli-release.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Whiteboard CLI Release
name: Review CLI Release

on:
workflow_dispatch:
inputs:
bump:
description: Next CLI version (calculated from npm releases and whiteboard-v tags)
description: Next CLI version (calculated from npm releases and review-v tags)
type: choice
required: true
default: patch
Expand All @@ -18,7 +18,7 @@ on:
default: false
push:
tags:
- whiteboard-v*
- review-v*

permissions:
contents: write
Expand Down Expand Up @@ -50,27 +50,27 @@ jobs:
id: release
env:
RELEASE_BUMP: ${{ inputs.bump }}
run: node scripts/whiteboard-cli-release.mjs plan
run: node scripts/review-cli-release.mjs plan
- name: Check release and headless behavior
if: steps.release.outputs.published != 'true'
run: |
node --test scripts/whiteboard-cli-release.test.mjs scripts/whiteboard-cli-dependencies.test.mjs
node --test scripts/review-cli-release.test.mjs scripts/review-cli-dependencies.test.mjs
pnpm --filter @dev.fast/trace-core test
pnpm --filter @dev.fast/whiteboard ensure:tutorial-assets
pnpm --filter @dev.fast/whiteboard exec vitest run --config vitest.config.ts --project shared-module-graph src/server/headless-host.test.ts src/server/headless-sharing.test.ts src/cli-install.test.ts
pnpm --filter @dev.fast/review ensure:tutorial-assets
pnpm --filter @dev.fast/review exec vitest run --config vitest.config.ts --project shared-module-graph src/server/headless-host.test.ts src/server/headless-sharing.test.ts src/cli-install.test.ts
- name: Build release tarball
if: steps.release.outputs.published != 'true'
run: node scripts/pack-whiteboard-cli.mjs release-artifacts
run: node scripts/pack-review-cli.mjs release-artifacts
- name: Test installed tarball without Desktop
if: steps.release.outputs.published != 'true'
env:
VERSION: ${{ steps.release.outputs.version }}
run: node scripts/smoke-whiteboard-cli.mjs "release-artifacts/dev.fast-whiteboard-${VERSION}.tgz" "$VERSION"
run: node scripts/smoke-review-cli.mjs "release-artifacts/dev.fast-review-${VERSION}.tgz" "$VERSION"
- name: Validate npm publish command
if: steps.release.outputs.published != 'true'
env:
VERSION: ${{ steps.release.outputs.version }}
run: npm publish "./release-artifacts/dev.fast-whiteboard-${VERSION}.tgz" --dry-run --registry=https://registry.npmjs.org --access public --tag latest --ignore-scripts
run: npm publish "./release-artifacts/dev.fast-review-${VERSION}.tgz" --dry-run --registry=https://registry.npmjs.org --access public --tag latest --ignore-scripts
- name: Retain tested package
if: steps.release.outputs.published != 'true'
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
Expand All @@ -88,13 +88,13 @@ jobs:
- name: Reserve release tag
if: steps.release.outputs.published != 'true' && !inputs.dry_run
# GITHUB_TOKEN tag pushes don't start another workflow. This run publishes below.
run: node scripts/whiteboard-cli-release.mjs tag
run: node scripts/review-cli-release.mjs tag
- name: Publish tested package
if: steps.release.outputs.published != 'true' && !inputs.dry_run
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
VERSION: ${{ steps.release.outputs.version }}
run: npm publish "./release-artifacts/dev.fast-whiteboard-${VERSION}.tgz" --registry=https://registry.npmjs.org --access public --tag latest --provenance --ignore-scripts
run: npm publish "./release-artifacts/dev.fast-review-${VERSION}.tgz" --registry=https://registry.npmjs.org --access public --tag latest --provenance --ignore-scripts
- name: Release summary
env:
VERSION: ${{ steps.release.outputs.version }}
Expand All @@ -104,13 +104,13 @@ jobs:
DRY_RUN: ${{ inputs.dry_run }}
run: |
{
echo "### Whiteboard CLI ${VERSION}"
echo "### Review CLI ${VERSION}"
echo "Source: ${COMMIT}; tag: ${RELEASE_TAG}"
if [ "$DRY_RUN" = true ]; then
echo 'Dry run: no tag or npm publication was created. Download the tested tarball from this run.'
elif [ "$PUBLISHED" = true ]; then
echo 'This exact version and source commit were already published; no changes made.'
else
echo "Install: npm install --global @dev.fast/whiteboard@${VERSION}"
echo "Install: npm install --global @dev.fast/review@${VERSION}"
fi
} >> "$GITHUB_STEP_SUMMARY"
74 changes: 37 additions & 37 deletions .github/workflows/review-desktop-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
jq -r '
select(.sourceRepository == "devdotfast/review") |
.baseCommit, .sourceCommit
' packages/whiteboard/src/fixtures/legacy-reviews/*.json |
' packages/review/src/fixtures/legacy-reviews/*.json |
sort -u
)
test "${#fixture_commits[@]}" -gt 0
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:

- name: Install Playwright Chromium
if: steps.playwright-chromium.outputs.cache-hit != 'true'
run: pnpm --filter @dev.fast/whiteboard-canvas exec playwright install chromium --only-shell
run: pnpm --filter @dev.fast/review-canvas exec playwright install chromium --only-shell

- name: Save Playwright Chromium
if: steps.playwright-chromium.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -96,14 +96,14 @@ jobs:
libx11-dev libxkbfile-dev libkrb5-dev libsecret-1-dev xvfb python3

- name: Install Playwright Chromium system dependencies
run: pnpm --filter @dev.fast/whiteboard-canvas exec playwright install-deps chromium
run: pnpm --filter @dev.fast/review-canvas exec playwright install-deps chromium

- name: Setup Code OSS Node
uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6
with:
node-version-file: apps/whiteboard-desktop/code-oss/.nvmrc
node-version-file: apps/review-desktop/code-oss/.nvmrc
cache: npm
cache-dependency-path: apps/whiteboard-desktop/code-oss/**/package-lock.json
cache-dependency-path: apps/review-desktop/code-oss/**/package-lock.json

# out/ is deliberately not cached: the build rebuilds it from scratch, so
# caching it only adds download/upload time. The nested extension and
Expand All @@ -118,64 +118,64 @@ jobs:
uses: actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: |
apps/whiteboard-desktop/code-oss/node_modules
apps/whiteboard-desktop/code-oss/build/node_modules
apps/whiteboard-desktop/code-oss/extensions/node_modules
apps/whiteboard-desktop/code-oss/extensions/*/node_modules
apps/whiteboard-desktop/code-oss/extensions/*/server/node_modules
apps/whiteboard-desktop/code-oss/.build/distro/npm/node_modules
apps/whiteboard-desktop/code-oss/.build/distro/npm/remote/node_modules
apps/whiteboard-desktop/code-oss/.build/distro/npm/remote/web/node_modules
apps/whiteboard-desktop/code-oss/.build/electron
apps/review-desktop/code-oss/node_modules
apps/review-desktop/code-oss/build/node_modules
apps/review-desktop/code-oss/extensions/node_modules
apps/review-desktop/code-oss/extensions/*/node_modules
apps/review-desktop/code-oss/extensions/*/server/node_modules
apps/review-desktop/code-oss/.build/distro/npm/node_modules
apps/review-desktop/code-oss/.build/distro/npm/remote/node_modules
apps/review-desktop/code-oss/.build/distro/npm/remote/web/node_modules
apps/review-desktop/code-oss/.build/electron
~/.cache/node-gyp
key: ${{ runner.os }}-code-oss-deps-v2-${{ hashFiles('apps/whiteboard-desktop/code-oss/**/package-lock.json') }}
key: ${{ runner.os }}-code-oss-deps-v2-${{ hashFiles('apps/review-desktop/code-oss/**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-code-oss-deps-v2-

- name: Build Review Desktop
env:
GITHUB_TOKEN: ${{ github.token }}
WHITEBOARD_DESKTOP_CI_FAST: "1"
run: pnpm --filter @dev.fast/whiteboard-desktop app:build
REVIEW_DESKTOP_CI_FAST: "1"
run: pnpm --filter @dev.fast/review-desktop app:build

- name: Validate Review Desktop build
run: |
test -d apps/whiteboard-desktop/code-oss/node_modules
test -f apps/whiteboard-desktop/code-oss/out/main.js
test -d apps/review-desktop/code-oss/node_modules
test -f apps/review-desktop/code-oss/out/main.js

- name: Save Code OSS dependencies
if: steps.code-oss-deps.outputs.cache-hit != 'true'
uses: actions/cache/save@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6
with:
path: |
apps/whiteboard-desktop/code-oss/node_modules
apps/whiteboard-desktop/code-oss/build/node_modules
apps/whiteboard-desktop/code-oss/extensions/node_modules
apps/whiteboard-desktop/code-oss/extensions/*/node_modules
apps/whiteboard-desktop/code-oss/extensions/*/server/node_modules
apps/whiteboard-desktop/code-oss/.build/distro/npm/node_modules
apps/whiteboard-desktop/code-oss/.build/distro/npm/remote/node_modules
apps/whiteboard-desktop/code-oss/.build/distro/npm/remote/web/node_modules
apps/whiteboard-desktop/code-oss/.build/electron
apps/review-desktop/code-oss/node_modules
apps/review-desktop/code-oss/build/node_modules
apps/review-desktop/code-oss/extensions/node_modules
apps/review-desktop/code-oss/extensions/*/node_modules
apps/review-desktop/code-oss/extensions/*/server/node_modules
apps/review-desktop/code-oss/.build/distro/npm/node_modules
apps/review-desktop/code-oss/.build/distro/npm/remote/node_modules
apps/review-desktop/code-oss/.build/distro/npm/remote/web/node_modules
apps/review-desktop/code-oss/.build/electron
~/.cache/node-gyp
key: ${{ runner.os }}-code-oss-deps-v2-${{ hashFiles('apps/whiteboard-desktop/code-oss/**/package-lock.json') }}
key: ${{ runner.os }}-code-oss-deps-v2-${{ hashFiles('apps/review-desktop/code-oss/**/package-lock.json') }}

- name: Check the tutorial assets
run: pnpm --filter @dev.fast/whiteboard check:tutorial
run: pnpm --filter @dev.fast/review check:tutorial

- name: Check repository quality
run: pnpm lint && pnpm format:check && pnpm typecheck && pnpm test

- name: Bundled diffr integration
run: pnpm --filter @dev.fast/whiteboard test:integration:diffr
run: pnpm --filter @dev.fast/review test:integration:diffr

- name: Configure Electron sandbox
run: |
sudo chown root:root apps/whiteboard-desktop/code-oss/.build/electron/chrome-sandbox
sudo chmod 4755 apps/whiteboard-desktop/code-oss/.build/electron/chrome-sandbox
sudo chown root:root apps/review-desktop/code-oss/.build/electron/chrome-sandbox
sudo chmod 4755 apps/review-desktop/code-oss/.build/electron/chrome-sandbox

- name: Desktop language services E2E
run: xvfb-run -a pnpm --filter @dev.fast/whiteboard-desktop test:e2e:lsp --keep
run: xvfb-run -a pnpm --filter @dev.fast/review-desktop test:e2e:lsp --keep

- name: Upload Desktop language services diagnostics
if: always()
Expand All @@ -196,7 +196,7 @@ jobs:
with:
name: vitest-browser-diagnostics
path: |
packages/whiteboard/app/.vitest-attachments
packages/whiteboard/**/__screenshots__
packages/whiteboard/**/__traces__
packages/review/app/.vitest-attachments
packages/review/**/__screenshots__
packages/review/**/__traces__
if-no-files-found: ignore
Loading
Loading