dev-deploy: fix backend startup in CI
Two bugs surfaced on the first real merge into development:
1. `${{ env.HOME }}` evaluates to empty string at the workflow stage,
so GALAXY_DEV_GAME_STATE_DIR became `/.galaxy-dev/game-state`.
Resolve in the shell instead of YAML.
2. The compose bind-mount of GeoIP2-Country-Test.mmdb referenced a
path inside the runner's workspace volume, which the host Docker
daemon cannot see — it created an empty directory and the backend
crashed with "geoip database: is a directory" in a restart loop.
Bake the file into the backend image so dev-deploy no longer needs
a bind-mount; local-dev compose still mounts it on top for swap-in
during development.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,6 +24,16 @@ COPY pkg/transcoder/ ./pkg/transcoder/
|
||||
COPY pkg/util/ ./pkg/util/
|
||||
COPY backend/ ./backend/
|
||||
|
||||
# Bake the GeoIP test database into the build context so downstream
|
||||
# stages can copy it into the runtime image. The path is the
|
||||
# `MaxMind-DB` git submodule under `pkg/geoip/test-data/`; the file is
|
||||
# the smallest country DB MaxMind publishes and is what every other
|
||||
# dev-stack uses. Baking it lets dev-deploy skip the bind-mount that
|
||||
# fails on runner-workspace volumes the host Docker daemon cannot see.
|
||||
RUN mkdir -p /out/var/lib/galaxy
|
||||
COPY pkg/geoip/test-data/test-data/GeoIP2-Country-Test.mmdb \
|
||||
/out/var/lib/galaxy/geoip.mmdb
|
||||
|
||||
RUN <<'EOF' cat > go.work
|
||||
go 1.26.2
|
||||
|
||||
@@ -67,5 +77,6 @@ EXPOSE 8080
|
||||
EXPOSE 8081
|
||||
|
||||
COPY --from=builder /out/backend /usr/local/bin/backend
|
||||
COPY --from=builder /out/var/lib/galaxy/geoip.mmdb /var/lib/galaxy/geoip.mmdb
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/backend"]
|
||||
|
||||
Reference in New Issue
Block a user