Commit Graph

362 Commits

Author SHA1 Message Date
Ilia Denisov dc1c9b109c phase 3 2026-05-07 09:40:37 +02:00
Ilia Denisov 63cccdc958 docs: testing.md — local gitea ci cheat sheet
Replaces the act-as-fallback section with the operations needed to
work with the local Gitea + arm64 act_runner shipped in tools/local-ci/:
how to bring it up, push, query run status from curl, and pull
zstd-compressed step logs from inside the gitea container. Keeps a
short act note as a syntax-only dry-run.

Also drops `client/**` from the path-filter list documented at the
top (the workflow excludes deprecated client/ from triggers and from
the go test command), and notes that the checkout step now uses
submodules: recursive so MaxMind-DB fixtures land for pkg/geoip.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:49:43 +02:00
Ilia Denisov 1b5749bd31 fix: make ci green on a fresh runner
Two issues surfaced by the first end-to-end ui-test.yaml run on a
clean Linux runner that don't reproduce locally:

- pkg/geoip tests load fixtures from the pkg/geoip/test-data git
  submodule (MaxMind-DB). actions/checkout@v4 does not fetch
  submodules by default, so the fixture path is missing on the
  runner. Both ui-test and ui-release workflows now check out with
  submodules: recursive.

- pkg/util/TestWritable asserts that /usr/lib is not writable, which
  holds for unprivileged users but fails inside the catthehacker
  workflow container that runs as root. Skip that branch when
  os.Geteuid() == 0; the root-only "the writable dir is writable"
  branch still runs.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:35:34 +02:00
Ilia Denisov 7450006ed3 phase 2: ui testing infrastructure
Vitest + @testing-library/jest-dom matchers wired through tests/setup.ts.
Playwright with four projects: chromium-desktop, webkit-desktop,
chromium-mobile-iphone-13, chromium-mobile-pixel-5; traces and
screenshots retained on failure.

.gitea/workflows/ui-test.yaml runs Tier 1 on every push and pull
request: monorepo Go service tests (backend with -p 1 to dodge
testcontainer contention; gateway, game, every pkg/<name> module),
pnpm install --frozen-lockfile, playwright install --with-deps,
pnpm test, pnpm exec playwright test. Uploads playwright-report
and test-results on failure. Integration suite stays gated behind
make -C integration integration; deprecated client/ excluded.

.gitea/workflows/ui-release.yaml mirrors Tier 1 on v* tag push and
keeps commented placeholders for visual regression (Phase 33) and
macOS iOS smoke (Phase 32).

ui/docs/testing.md documents both tiers and the local invocations
that mirror what CI runs. ui/PLAN.md Phase 2 marked done; Phase 3
gains a bullet to extend the go test command with ./ui/core/...;
Phase 36 has the renamed release workflow path.

tools/local-ci/ ships a self-contained docker-compose for verifying
workflows against a local Gitea + arm64 act_runner before pushing
to a real instance.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:24:44 +02:00
Ilia Denisov cf41be9eff fix: mock /healthz in runtime service e2e test
TestServiceStartGameEndToEnd's httptest server had no handler for
/healthz, the path engineclient.Healthz probes after a runtime
container starts. Without it the runtime never transitions out of
starting state and the test fails on its 5s deadline. Surfaced by
introducing CI that runs the backend service tests outside the
integration harness.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-07 08:24:25 +02:00
Ilia Denisov 7cc18159e9 phase 1 2026-05-07 07:18:55 +02:00
Ilia Denisov 7af57933eb chore: plan formatting 2026-05-07 06:35:58 +02:00
Ilia Denisov 08f1917bc1 docs: ui plan 2026-05-07 06:32:46 +02:00
Ilia Denisov 604fe40bcf docs: reorder & testing 2026-05-07 00:58:53 +03:00
Ilia Denisov f446c6a2ac feat: backend service 2026-05-06 10:14:55 +03:00
Ilia Denisov 3e2622757e feat: gamemaster 2026-05-03 07:59:03 +02:00
Ilia Denisov a7cee15115 feat: runtime manager 2026-04-28 20:39:18 +02:00
Ilia Denisov e0a99b346b add game engine openapi 2026-04-26 22:10:02 +02:00
Ilia Denisov b4591cabd4 game stats shows planes and population 2026-04-26 21:12:51 +02:00
Ilia Denisov fe829285a6 feat: use postgres 2026-04-26 20:34:39 +02:00
Ilia Denisov 48b0056b49 feat: game lobby service 2026-04-25 23:20:55 +02:00
Ilia Denisov 32dc29359a feat: notification service 2026-04-22 08:49:45 +02:00
Ilia Denisov 5b7593e6f6 feat: mail service 2026-04-17 18:39:16 +02:00
Ilia Denisov 23ffcb7535 feat: user service 2026-04-10 19:05:02 +02:00
IliaDenisov 710bad712e chore: add galaxy/user module 2026-04-09 15:39:07 +02:00
IliaDenisov 1c8e0ca48e tests: integration suite 2026-04-09 15:27:14 +02:00
IliaDenisov e04fc663f0 docs: geoip data sources 2026-04-09 14:19:40 +02:00
Ilia Denisov 84eeaf5184 feat: geoip 2026-04-09 15:16:36 +03:00
IliaDenisov 94b7b6ce06 chore: fix platform naming 2026-04-09 12:53:08 +02:00
IliaDenisov 85ccefc7ff chore: sync testing plan with authsession 2026-04-09 12:52:00 +02:00
IliaDenisov 9065b82fe2 chore: sync testing plan with gateway 2026-04-09 12:34:55 +02:00
IliaDenisov c64c298d06 docs: add testing strategy 2026-04-09 12:07:03 +02:00
Ilia Denisov bdf08f7884 docs: project naming 2026-04-09 09:03:02 +02:00
Ilia Denisov a0d7178aef docs: architecture link to user service 2026-04-09 09:01:48 +02:00
Ilia Denisov 7043af4cb3 feat: support time_zone for user registration context 2026-04-09 09:00:06 +02:00
Ilia Denisov e6b73a8f55 docs: update architecture 2026-04-08 22:03:34 +02:00
Ilia Denisov 86a68ed9d0 feat: authsession service 2026-04-08 16:23:07 +02:00
Ilia Denisov 28f04916af docs: geoprofile service 2026-04-07 19:35:31 +02:00
IliaDenisov 8fc90b1d46 docs: rename file 2026-04-04 12:24:54 +02:00
Ilia Denisov 436c97a38b feat: edge gateway service 2026-04-02 19:18:42 +02:00
Ilia Denisov 8cde99936c gateway readme and plan 2026-03-31 19:56:56 +02:00
Ilia Denisov f616e3f5ca flatbuffers & transcoders 2026-03-31 19:16:34 +02:00
Ilia Denisov 6e01d73a5e fbs: order 2026-03-30 21:51:47 +02:00
Ilia Denisov 89af8194db flatc readme 2026-03-30 21:24:03 +02:00
Ilia Denisov 92889b81ab cleanup 2026-03-30 19:41:04 +02:00
Ilia Denisov a7793f5416 ui calculator 2026-03-30 19:38:24 +02:00
Ilia Denisov 17f366cd6b wip: ship calculator 2026-03-24 11:33:52 +02:00
Ilia Denisov 960fd3a218 build: work sync 2026-03-22 19:44:44 +02:00
Ilia Denisov d6a707d60e flatbuffers 2026-03-22 19:43:45 +02:00
Ilia Denisov 73a4b0d3ec circle radius 2026-03-22 19:43:09 +02:00
Ilia Denisov ad25845ec0 docs: readme for client 2026-03-22 19:41:48 +02:00
IliaDenisov aaa35af8b7 fetch actual report 2026-03-17 16:27:14 +02:00
IliaDenisov 0ce2690b3f move Makefile 2026-03-17 16:05:54 +02:00
Ilia Denisov dee4b4da56 fix: drag speed on pan 2026-03-17 16:39:30 +03:00
IliaDenisov 3db0c9afda cleanup 2026-03-17 15:20:44 +02:00