mirror of
https://github.com/coleam00/Archon
synced 2026-04-21 21:47:53 +00:00
* fix(docker): update Bun base image from 1.2 to 1.3 The lockfile was generated with Bun 1.3.x locally but the Docker image used oven/bun:1.2-slim. Bun 1.3 changed the lockfile format, causing --frozen-lockfile to fail during docker build. * fix(docker): pin Bun to exact version 1.3.9 matching lockfile Floating tag 1.3-slim resolved to 1.3.11 which has a different lockfile format than 1.3.9 used to generate bun.lock. Pin to exact patch version to prevent --frozen-lockfile failures. * fix(docker): add missing docs-web workspace package.json The docs-web package was added as a workspace member but its package.json was never added to the Dockerfile COPY steps. This caused bun install --frozen-lockfile to fail because the workspace layout in Docker didn't match the lockfile. * fix(docker): use hoisted linker for Vite/Rollup compatibility Bun's default "isolated" linker stores packages in node_modules/.bun/ with symlinks that Vite's Rollup bundler cannot resolve during production builds (e.g., remark-gfm → mdast-util-gfm chain). Using --linker=hoisted gives the classic flat node_modules layout that Rollup expects. Local dev is unaffected (Vite dev server handles the isolated layout fine). * ci: pin Bun version to 1.3.9 and add Docker build check - Align CI Bun version (was 1.3.11) with Dockerfile and local dev (1.3.9) to prevent lockfile format mismatches between environments - Add docker-build job to test.yml that builds the Docker image on every PR — catches Dockerfile regressions (missing workspace packages, linker issues, build failures) before they reach deploy * fix(ci): add permissions for GHA cache and tighten Bun engine - Add actions: write permission to docker-build job so GHA layer cache writes succeed on PRs from forks - Tighten package.json engines.bun from >=1.0.0 to >=1.3.9 to document the minimum version that matches the lockfile format * fix(ci): add smoke test, align Bun version across all workflows Review fixes: - Add load: true + health endpoint smoke test to docker-build CI job so we verify the image actually starts, not just compiles - Align Bun 1.3.9 in deploy-docs.yml and release.yml (were still 1.3.11) - Document why docs-web source is intentionally omitted from Docker * chore: float Docker to bun:1.3 and align CI to 1.3.11 - Dockerfile: oven/bun:1.3-slim (auto-tracks latest 1.3.x patches) - CI workflows: bun-version 1.3.11 (current latest, reproducible) - engines.bun: >=1.3.9 (minimum for local devs) Lockfile format is stable across 1.3.x patches, so this is safe. * fix(docker,ci): pin Docker to 1.3.11, loosen engines, harden smoke test - Dockerfile: pin oven/bun:1.3.11-slim (was floating 1.3-slim) so Docker builds are reproducible and match CI exactly. - package.json: loosen engines to ^1.3.0 so end users on any 1.3.x can run the CLI; CI/Docker remain pinned to the canonical latest. - CI smoke test: replace 'sleep 5' with curl --retry-connrefused, and move container cleanup to an 'if: always()' step so a failed health check no longer leaks the named container. --------- Co-authored-by: Rasmus Widing <rasmus.widing@gmail.com>
54 lines
1.7 KiB
JSON
54 lines
1.7 KiB
JSON
{
|
|
"name": "archon",
|
|
"version": "0.2.12",
|
|
"private": true,
|
|
"workspaces": [
|
|
"packages/*"
|
|
],
|
|
"type": "module",
|
|
"scripts": {
|
|
"cli": "bun --cwd packages/cli src/cli.ts",
|
|
"dev": "bun --filter '*' dev",
|
|
"dev:server": "bun --filter @archon/server dev",
|
|
"start": "bun --filter @archon/server start",
|
|
"build": "bun --filter '*' build",
|
|
"build:binaries": "bash scripts/build-binaries.sh",
|
|
"build:checksums": "bash scripts/checksums.sh",
|
|
"test": "bun --filter '*' --parallel test",
|
|
"test:watch": "bun --filter @archon/server test:watch",
|
|
"type-check": "bun --filter '*' type-check",
|
|
"lint": "bun x eslint . --cache",
|
|
"lint:fix": "bun x eslint . --cache --fix",
|
|
"format": "bun x prettier --write .",
|
|
"format:check": "bun x prettier --check .",
|
|
"dev:web": "bun --filter @archon/web dev",
|
|
"build:web": "bun --filter @archon/web build",
|
|
"dev:docs": "bun --filter @archon/docs-web dev",
|
|
"build:docs": "bun --filter @archon/docs-web build",
|
|
"validate": "bun run type-check && bun run lint --max-warnings 0 && bun run format:check && bun run test",
|
|
"prepare": "husky",
|
|
"setup-auth": "bun --filter @archon/server setup-auth"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.1",
|
|
"@types/bun": "latest",
|
|
"bun-types": "^1.3.5",
|
|
"eslint": "^9.39.1",
|
|
"eslint-config-prettier": "10.1.8",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^15.2.0",
|
|
"prettier": "^3.7.4",
|
|
"typescript": "^5.3.0",
|
|
"pino-pretty": "^13",
|
|
"typescript-eslint": "^8.48.0"
|
|
},
|
|
"engines": {
|
|
"bun": "^1.3.0"
|
|
},
|
|
"overrides": {
|
|
"test-exclude": "^7.0.1"
|
|
},
|
|
"dependencies": {
|
|
"@anthropic-ai/claude-agent-sdk": "^0.2.74"
|
|
}
|
|
}
|