Build install-bundle plugin dist before api install-bundle tests in CI #288

Closed
opened 2026-06-05 11:22:58 +00:00 by steve · 0 comments
Owner

Problem

Forgejo @lapis-notes/api#test fails on install-bundle cases with immediate
ENOENT errors for plugin dist/ folders. Local docker:ci-check passes
because the bind mount includes host-built artifacts; CI starts from a clean
checkout where dist/ is gitignored.

Goal

Ensure install-bundle regression tests always run against built plugin artifacts
in CI and suppress expected failure-path console noise in Vitest output.

Acceptance Criteria

  • @lapis-notes/api#test depends on building all install-bundle plugin packages
  • Install-bundle Vitest cases pass without pre-existing local dist/ folders
  • Expected plugin-manager/command-manager failure logs are suppressed in Vitest
  • pnpm check:all and pnpm exec turbo run test --filter=@lapis-notes/api --force pass

Validation Commands

  • pnpm exec turbo run test --filter=@lapis-notes/api --force (after removing plugin dist)
  • pnpm check:all

Implementation Summary

Turbo @lapis-notes/api#test now depends on building all install-bundle plugin packages so fresh CI checkouts have dist/ artifacts. Vitest onConsoleLog suppresses expected plugin-manager and hotkeys failure-path stderr. Validated with dist removed + turbo test --filter=@lapis-notes/api --force and pnpm check:all.

## Problem Forgejo `@lapis-notes/api#test` fails on install-bundle cases with immediate `ENOENT` errors for plugin `dist/` folders. Local `docker:ci-check` passes because the bind mount includes host-built artifacts; CI starts from a clean checkout where `dist/` is gitignored. ## Goal Ensure install-bundle regression tests always run against built plugin artifacts in CI and suppress expected failure-path console noise in Vitest output. ## Acceptance Criteria - [ ] `@lapis-notes/api#test` depends on building all install-bundle plugin packages - [ ] Install-bundle Vitest cases pass without pre-existing local `dist/` folders - [ ] Expected plugin-manager/command-manager failure logs are suppressed in Vitest - [ ] `pnpm check:all` and `pnpm exec turbo run test --filter=@lapis-notes/api --force` pass ## Validation Commands - `pnpm exec turbo run test --filter=@lapis-notes/api --force` (after removing plugin dist) - `pnpm check:all` <!-- backlog:task_id=TASK-API-INSTALL-BUNDLE-DIST-CI source_spec=spec/src/80-maintenance/monorepo-scripts.md --> ## Implementation Summary Turbo @lapis-notes/api#test now depends on building all install-bundle plugin packages so fresh CI checkouts have dist/ artifacts. Vitest onConsoleLog suppresses expected plugin-manager and hotkeys failure-path stderr. Validated with dist removed + turbo test --filter=@lapis-notes/api --force and pnpm check:all.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lapis-notes/lapis#288
No description provided.