Ship deploy/paper in the embedded game-stack assets; the no-checkout install cannot build felis-paper #22

Closed
opened 2026-07-31 05:28:59 +09:00 by FLYEMOJ1 · 1 comment
FLYEMOJ1 commented 2026-07-31 05:28:59 +09:00 (Migrated from github.com)

bootstrap_asset.go 的 gameStackAssets 只 embed 了 deploy/limbo 和 deploy/lobby(外加 plugins/*),没有 deploy/paper/Dockerfile 和 deploy/paper/entrypoint.sh。而 5d4f306 起 build_game_stack 无条件构建第三个镜像:docker build -f "${GAME_STACK_DIR}/deploy/paper/Dockerfile"。

在 HAVE_PREBUILT_BINARY 的两条路径上(TUI hand-off / release 下载,都没有 source checkout),game_stack_source 用 felis bootstrap-assets game-stack 解 embedded tar 当 build context,里面没有 deploy/paper,那一步 docker build 直接失败、安装 die 在 game-stack 中段。source-checkout 路径(GAME_STACK_DIR="$SRC_DIR")不受影响——这也是它没被现有安装撞出来的原因。

修法:bootstrap_asset.go 补一行 //go:embed deploy/paper/Dockerfile deploy/paper/entrypoint.sh(该文件注释明确要求 file-explicit,别用父目录),并把 bootstrap_asset_test.go 的契约测试延伸到 paper 的 Dockerfile。

在 #20 施工的复核中发现;main 上同样存在,与 #20 的改动无关——#20 只是给这个收不到文件的 Dockerfile 加了必填 ARG,未加重也未修复。

`bootstrap_asset.go` 的 `gameStackAssets` 只 embed 了 `deploy/limbo` 和 `deploy/lobby`(外加 plugins/*),没有 `deploy/paper/Dockerfile` 和 `deploy/paper/entrypoint.sh`。而 5d4f306 起 `build_game_stack` 无条件构建第三个镜像:`docker build -f "${GAME_STACK_DIR}/deploy/paper/Dockerfile"`。 在 `HAVE_PREBUILT_BINARY` 的两条路径上(TUI hand-off / release 下载,都没有 source checkout),`game_stack_source` 用 `felis bootstrap-assets game-stack` 解 embedded tar 当 build context,里面没有 deploy/paper,那一步 docker build 直接失败、安装 die 在 game-stack 中段。source-checkout 路径(`GAME_STACK_DIR="$SRC_DIR"`)不受影响——这也是它没被现有安装撞出来的原因。 修法:`bootstrap_asset.go` 补一行 `//go:embed deploy/paper/Dockerfile deploy/paper/entrypoint.sh`(该文件注释明确要求 file-explicit,别用父目录),并把 `bootstrap_asset_test.go` 的契约测试延伸到 paper 的 Dockerfile。 在 #20 施工的复核中发现;main 上同样存在,与 #20 的改动无关——#20 只是给这个收不到文件的 Dockerfile 加了必填 ARG,未加重也未修复。
Lemon-miaow commented 2026-09-24 12:02:27 +09:00 (Migrated from github.com)

已修(3f2b28d):bootstrap_asset.go 的 gameStackAssets 补齐 deploy/paper/Dockerfile + deploy/paper/entrypoint.sh(保持 file-explicit 的 embed 纪律);embedded tar 现在携带第三个镜像的全部构建输入,无 checkout 的安装路径可完整构建 felis-paper,bootstrap 契约测试同步延伸。

已修(`3f2b28d`):`bootstrap_asset.go` 的 `gameStackAssets` 补齐 `deploy/paper/Dockerfile` + `deploy/paper/entrypoint.sh`(保持 file-explicit 的 embed 纪律);embedded tar 现在携带第三个镜像的全部构建输入,无 checkout 的安装路径可完整构建 felis-paper,bootstrap 契约测试同步延伸。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: FelisMC/Felis#22