fix(deploy): make the lobby image actually build

The lobby image had never been built and two defects blocked it: the felis image .dockerignore excluded plugins/* and only re-included limbo/shared, so the lobby Dockerfile's COPY plugins/paper landed empty; and the plugin stage used eclipse-temurin:21-jdk, which ships no gradle (and the tree vendors no wrapper), failing with 'gradle: not found'. Re-include plugins/paper and build the paper plugin on gradle:8.14-jdk21, matching the limbo image. Verified: both images build and boot (limbo /healthz 200 on 25565; lobby reaches 'Done' with felis-paper enabled).
This commit is contained in:
flyemoji committed 2026-07-03 01:26:15 +09:00
1 parent adf0d9953c
commit d9e866fcdb
2 files changed
+10 -6

No files matched your search

+7 -5
View File
@@ -7,15 +7,17 @@
.git .git
.claude .claude
**/node_modules **/node_modules
# plugins/ is code-only and excluded from the MAIN felis image — EXCEPT the two # plugins/ is code-only and excluded from the MAIN felis image — EXCEPT the source
# source trees the login-limbo image (deploy/limbo/Dockerfile) compiles: its own # trees the two game images compile: the login-limbo image (deploy/limbo/Dockerfile)
# module (plugins/limbo) and the shared link core it srcDir-includes (plugins/shared). # builds plugins/limbo, the lobby image (deploy/lobby/Dockerfile) builds plugins/paper,
# and both srcDir-include the shared link core (plugins/shared).
# `plugins/*` excludes each sibling module individually (so plugins/ itself is still # `plugins/*` excludes each sibling module individually (so plugins/ itself is still
# walked and the negations below can re-include), then the two build trees are pulled # walked and the negations below can re-include), then the build trees are pulled
# back in and their Gradle outputs re-excluded to keep the context lean. The main # back in and their Gradle outputs re-excluded to keep the context lean. The main
# image copies none of plugins/, so carrying these two small source dirs is harmless. # image copies none of plugins/, so carrying these small source dirs is harmless.
plugins/* plugins/*
!plugins/limbo !plugins/limbo
!plugins/paper
!plugins/shared !plugins/shared
plugins/**/build plugins/**/build
plugins/**/.gradle plugins/**/.gradle
+3 -1
View File
@@ -17,7 +17,9 @@
# token. # token.
# ---- build the felis-paper plugin jar (Paper API is Java 21) ---- # ---- build the felis-paper plugin jar (Paper API is Java 21) ----
FROM eclipse-temurin:21-jdk AS plugin # gradle:8.14-jdk21 — an official Gradle image on JDK 21 (this tree vendors no Gradle
# wrapper, and a bare JDK image ships no `gradle`). JDK 21 matches the Paper API.
FROM gradle:8.14-jdk21 AS plugin
WORKDIR /src WORKDIR /src
COPY plugins/paper/ ./plugins/paper/ COPY plugins/paper/ ./plugins/paper/
COPY plugins/shared/ ./plugins/shared/ COPY plugins/shared/ ./plugins/shared/