mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-02-27 18:22:41 -08:00
chore: migrate repo workflows to Bun-only runtime
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
---
|
||||
id: TASK-115
|
||||
title: Migrate repository workflows to Bun-only JavaScript runtime
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-23 04:26'
|
||||
updated_date: '2026-02-23 04:42'
|
||||
labels:
|
||||
- tooling
|
||||
- build
|
||||
- ci
|
||||
dependencies: []
|
||||
references:
|
||||
- package.json
|
||||
- .github/workflows/ci.yml
|
||||
- .github/workflows/release.yml
|
||||
- docs/development.md
|
||||
- docs/installation.md
|
||||
- README.md
|
||||
documentation:
|
||||
- docs/plans/2026-02-23-bun-only-toolchain-migration.md
|
||||
priority: high
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Transition the project from mixed Bun/Node tooling to a Bun-only contributor and CI workflow so setup is simpler and runtime behavior is consistent across local and automation lanes.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 A contributor can install dependencies, build, run source tests, run dist smoke tests, and build docs using Bun without requiring a system Node.js install.
|
||||
- [x] #2 CI and release workflows no longer require Node setup steps for standard project verification and packaging jobs.
|
||||
- [x] #3 Dist and utility verification lanes remain covered and pass with Bun-based commands.
|
||||
- [x] #4 Repository documentation clearly states the Bun-only prerequisite and removes conflicting Node requirement guidance.
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Execution started in-session after user selected Subagent-Driven option. Tracking sequence: TASK-115.2 -> TASK-115.3/TASK-115.4 -> TASK-115.1.
|
||||
|
||||
Completed child sequence TASK-115.2 -> TASK-115.3/TASK-115.4 -> TASK-115.1 with Bun-only command/workflow migration.
|
||||
|
||||
Direct Node command usage removed from package dist and utility script lanes; CI/release Node setup steps removed; contributor docs aligned to Bun-only prerequisites.
|
||||
|
||||
Regression hardening: refactored AniList token-store tests and storage seam to remain stable under Bun dist test execution while preserving runtime behavior.
|
||||
|
||||
Post-migration docs polish: updated `README.md` requirements table to list Bun as a required dependency and promoted Bun from optional-tools section into system dependencies in `docs/installation.md` to remove ambiguity.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
|
||||
## Final Summary
|
||||
|
||||
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
|
||||
Migrated repository verification and workflow surfaces to Bun-first execution by replacing `node --test` dist lanes and remaining direct Node utility invocation (`generate:config-example`) with Bun commands.
|
||||
|
||||
Removed `actions/setup-node` from CI and release jobs and aligned docs (`docs/development.md`, `docs/installation.md`) to Bun-only setup guidance; launcher smoke fixtures now use Bun shebangs so smoke tests no longer depend on Node.
|
||||
|
||||
Validated full gate set under Bun-only command path: launcher smoke, fast source suite, build, dist config/core/smoke suites, docs build, plus config-example generation command.
|
||||
<!-- SECTION:FINAL_SUMMARY:END -->
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
id: TASK-115.1
|
||||
title: Remove Node setup from workflows and finalize Bun-only docs
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-23 04:26'
|
||||
updated_date: '2026-02-23 04:36'
|
||||
labels:
|
||||
- ci
|
||||
- docs
|
||||
- tooling
|
||||
dependencies:
|
||||
- TASK-115.2
|
||||
- TASK-115.3
|
||||
- TASK-115.4
|
||||
references:
|
||||
- .github/workflows/ci.yml
|
||||
- .github/workflows/release.yml
|
||||
- docs/development.md
|
||||
- docs/installation.md
|
||||
- README.md
|
||||
documentation:
|
||||
- docs/plans/2026-02-23-bun-only-toolchain-migration.md
|
||||
parent_task_id: TASK-115
|
||||
priority: high
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
After script/test migration parity is verified, remove Node setup from CI/release workflows and finalize documentation so contributors and automation use a consistent Bun-only prerequisite.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 CI and release workflows no longer include Node setup steps for routine build/test/package jobs.
|
||||
- [x] #2 Primary local verification gates pass with the Bun-only command set.
|
||||
- [x] #3 README and setup/install docs consistently describe Bun as the JS runtime prerequisite without conflicting Node requirement text.
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Removed `actions/setup-node` from `.github/workflows/ci.yml` and `.github/workflows/release.yml` (quality-gate, build-linux, build-macos jobs).
|
||||
|
||||
Updated docs to align Bun-only prerequisite: removed Node from `docs/development.md` prerequisites and switched stale pnpm source-build snippet in `docs/installation.md` to Bun.
|
||||
|
||||
Validation gates: `bun run test:launcher:smoke:src && bun run test:fast && bun run build && bun run test:config:dist && bun run test:core:dist && bun run test:smoke:dist && bun run docs:build` all pass.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
id: TASK-115.2
|
||||
title: Map Node touchpoints and define Bun parity matrix
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-23 04:27'
|
||||
updated_date: '2026-02-23 04:36'
|
||||
labels:
|
||||
- tooling
|
||||
- planning
|
||||
dependencies: []
|
||||
references:
|
||||
- package.json
|
||||
- .github/workflows/ci.yml
|
||||
- .github/workflows/release.yml
|
||||
documentation:
|
||||
- docs/plans/2026-02-23-bun-only-toolchain-migration.md
|
||||
parent_task_id: TASK-115
|
||||
priority: medium
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Document all Node-specific command and workflow touchpoints, define Bun replacements, and establish migration guardrails so follow-up implementation tasks have clear scope and risk controls.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 A complete inventory of Node-dependent scripts and workflow steps is documented with proposed Bun equivalents.
|
||||
- [x] #2 Migration risks and compatibility checkpoints are explicitly documented for dist and Electron-related lanes.
|
||||
- [x] #3 Follow-up implementation tasks have clear boundaries and ordering based on the parity matrix.
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Created `docs/plans/bun-only-parity-matrix.md` with direct Node touchpoint inventory, Bun replacements, risk checkpoints, and migration sequencing.
|
||||
|
||||
Parity matrix now links implementation ordering for TASK-115.3/115.4/115.1 and flags follow-up risk handling for third-party implicit Node assumptions.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
id: TASK-115.3
|
||||
title: Migrate dist test lanes from Node runner to Bun
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-23 04:27'
|
||||
updated_date: '2026-02-23 04:36'
|
||||
labels:
|
||||
- test
|
||||
- tooling
|
||||
dependencies:
|
||||
- TASK-115.2
|
||||
references:
|
||||
- package.json
|
||||
- docs/development.md
|
||||
- docs/installation.md
|
||||
documentation:
|
||||
- docs/plans/2026-02-23-bun-only-toolchain-migration.md
|
||||
parent_task_id: TASK-115
|
||||
priority: high
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Replace Node-runner dist test commands with Bun-based dist verification while preserving existing test scope and confidence in compiled artifact behavior.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 Dist test scripts execute via Bun instead of node --test while preserving the current dist test file coverage.
|
||||
- [x] #2 Dist smoke and full dist verification lanes pass under Bun-based commands.
|
||||
- [x] #3 Documentation for dist verification commands reflects the updated Bun-based workflow.
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Updated `package.json` dist lanes from `node --test` to `bun test` (`test:config:dist`, `test:config:smoke:dist`, `test:core:dist`, `test:core:smoke:dist`).
|
||||
|
||||
Resolved Bun dist compatibility gap by injecting `SafeStorageLike` into AniList token store and replacing brittle Electron global monkey-patching in `anilist-token-store` tests.
|
||||
|
||||
Validation: `bun run build && bun run test:config:dist && bun run test:core:dist && bun run test:smoke:dist` all pass.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
id: TASK-115.4
|
||||
title: Migrate Node-invoked utility script commands to Bun
|
||||
status: Done
|
||||
assignee: []
|
||||
created_date: '2026-02-23 04:27'
|
||||
updated_date: '2026-02-23 04:36'
|
||||
labels:
|
||||
- tooling
|
||||
- scripts
|
||||
dependencies:
|
||||
- TASK-115.2
|
||||
references:
|
||||
- package.json
|
||||
- scripts/get_frequency.ts
|
||||
- scripts/test-yomitan-parser.ts
|
||||
documentation:
|
||||
- docs/plans/2026-02-23-bun-only-toolchain-migration.md
|
||||
parent_task_id: TASK-115
|
||||
priority: medium
|
||||
---
|
||||
|
||||
## Description
|
||||
|
||||
<!-- SECTION:DESCRIPTION:BEGIN -->
|
||||
Update utility command entrypoints that still rely on Node invocation so maintenance and diagnostics workflows can be run entirely through Bun.
|
||||
<!-- SECTION:DESCRIPTION:END -->
|
||||
|
||||
## Acceptance Criteria
|
||||
<!-- AC:BEGIN -->
|
||||
- [x] #1 Utility script commands that currently invoke Node have Bun-based equivalents as the default project commands.
|
||||
- [x] #2 Electron-targeted utility flows remain functional after command migration.
|
||||
- [x] #3 Contributor docs reflect the updated Bun-based utility command usage.
|
||||
<!-- AC:END -->
|
||||
|
||||
## Implementation Notes
|
||||
|
||||
<!-- SECTION:NOTES:BEGIN -->
|
||||
Updated `generate:config-example` command from `node dist/generate-config-example.js` to `bun dist/generate-config-example.js`.
|
||||
|
||||
Updated launcher smoke fixture executables from `#!/usr/bin/env node` to `#!/usr/bin/env bun` so smoke tests do not assume Node presence.
|
||||
|
||||
Validation: `bun run test:launcher:smoke:src` and `bun run generate:config-example` pass with Bun-first command path.
|
||||
<!-- SECTION:NOTES:END -->
|
||||
Reference in New Issue
Block a user