Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ebb2e7f0f | |||
| 0da360a644 |
@@ -1,4 +1,4 @@
|
||||
name: deploy-prod
|
||||
name: Deploy · Prod
|
||||
|
||||
# Placeholder for the production rollout workflow. Today it only proves
|
||||
# the manual entry point works; the actual `docker save | ssh prod
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: dev-deploy
|
||||
name: Deploy · Dev
|
||||
|
||||
# Builds the Galaxy stack and (re)deploys it into the long-lived dev
|
||||
# environment on the host running this Gitea Actions runner. Triggered
|
||||
@@ -100,9 +100,10 @@ jobs:
|
||||
|
||||
- name: Bring up the stack
|
||||
working-directory: tools/dev-deploy
|
||||
env:
|
||||
GALAXY_DEV_GAME_STATE_DIR: ${{ env.HOME }}/.galaxy-dev/game-state
|
||||
run: |
|
||||
# Resolve in the shell, not in YAML expressions — `env.HOME`
|
||||
# is empty at the workflow-evaluation stage.
|
||||
export GALAXY_DEV_GAME_STATE_DIR="$HOME/.galaxy-dev/game-state"
|
||||
mkdir -p "$GALAXY_DEV_GAME_STATE_DIR"
|
||||
docker compose up -d --wait --remove-orphans
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: go-unit
|
||||
name: Tests · Go
|
||||
|
||||
# Fast unit tests for the Go side of the monorepo. Runs on every push
|
||||
# and pull request whose path filter matches a Go source directory.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: integration
|
||||
name: Tests · Integration
|
||||
|
||||
# Full integration suite (testcontainers-driven, ~5–10 minutes). Heavy
|
||||
# enough that we do not run it on every push to a feature branch — only
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: prod-build
|
||||
name: Build · Prod
|
||||
|
||||
# Builds the production-grade Docker images and the UI bundle on every
|
||||
# merge into `main`, then saves the artifacts so a future
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: ui-test
|
||||
name: Tests · UI
|
||||
|
||||
# UI-side unit and end-to-end tests (Vitest + Playwright). The Go side
|
||||
# of the workspace is tested in `go-unit.yaml`. Both workflows can run
|
||||
|
||||
@@ -125,7 +125,11 @@ services:
|
||||
target: ${GALAXY_DEV_GAME_STATE_DIR}
|
||||
bind:
|
||||
create_host_path: true
|
||||
- ../../pkg/geoip/test-data/test-data/GeoIP2-Country-Test.mmdb:/var/lib/galaxy/geoip.mmdb:ro
|
||||
# The GeoIP database is baked into the backend image (see
|
||||
# tools/local-dev/backend.Dockerfile); a bind-mount is not used
|
||||
# here because the source path resolves inside the runner
|
||||
# workspace volume and the host Docker daemon cannot see it,
|
||||
# which produced an "is a directory" error in CI.
|
||||
networks:
|
||||
- galaxy-internal
|
||||
healthcheck:
|
||||
|
||||
@@ -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