Compare commits

..

13 Commits

Author SHA1 Message Date
e21a8acc60 Merge pull request 'Housekeeping: archive beans, add seed pruning' (#31) from develop into main
Reviewed-on: #31
2026-02-21 17:46:57 +01:00
f15e530130 Merge pull request 'Release: test infrastructure, rules overhaul, and design refresh' (#30) from develop into main
Reviewed-on: #30
2026-02-21 16:58:14 +01:00
e533a3404e Merge pull request 'develop' (#25) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#25
2026-02-16 21:19:57 +01:00
a944da2204 Merge pull request 'develop' (#24) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#24
2026-02-14 11:05:17 +01:00
012cfb96cd Merge pull request 'develop' (#21) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#21
2026-02-14 10:01:41 +01:00
e3e015852c Merge pull request 'develop' (#19) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#19
2026-02-13 09:32:47 +01:00
59b4f7f28c Merge pull request 'Complete Game Data Cleanup epic' (#16) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#16
2026-02-11 15:34:25 +01:00
e212251da8 Merge pull request 'Fix route ordering' (#15) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#15
2026-02-11 15:24:11 +01:00
f49c8cee85 Merge pull request 'Remove old Go fetch-pokeapi tool, update README for import-pokedb (#13)' (#14) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#14
2026-02-11 13:57:09 +01:00
b34f1083a3 Merge pull request 'Update README.md' (#12) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#12
2026-02-11 13:49:04 +01:00
b85668c233 Merge pull request 'Update bean' (#11) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#11
2026-02-11 13:43:16 +01:00
45cbff7672 Merge pull request 'Fix webp sprites not loading in production nginx' (#10) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#10
2026-02-11 13:25:14 +01:00
51b47dbfb0 Merge pull request 'develop' (#9) from develop into main
Reviewed-on: TheFurya/nuzlocke-tracker#9
2026-02-11 13:05:12 +01:00
5 changed files with 36 additions and 75 deletions

View File

@@ -1,11 +0,0 @@
---
# nuzlocke-tracker-m8ki
title: Split e2e tests into manual workflow
status: completed
type: task
priority: normal
created_at: 2026-02-21T16:53:37Z
updated_at: 2026-02-21T16:54:04Z
---
Remove e2e-tests job from ci.yml and create a new e2e.yml workflow with workflow_dispatch trigger only.

View File

@@ -68,4 +68,31 @@ jobs:
working-directory: frontend
- name: Run tests
run: npm test
working-directory: frontend
working-directory: frontend
e2e-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "24"
- name: Install dependencies
run: npm ci
working-directory: frontend
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
working-directory: frontend
- name: Run e2e tests
run: npm run test:e2e
working-directory: frontend
env:
E2E_API_URL: http://192.168.1.10:8100
- name: Upload Playwright report
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: playwright-report
path: frontend/playwright-report/

View File

@@ -1,35 +0,0 @@
name: E2E Tests
on:
workflow_dispatch:
permissions:
contents: read
jobs:
e2e-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
with:
persist-credentials: false
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: "24"
- name: Install dependencies
run: npm ci
working-directory: frontend
- name: Install Playwright browsers
run: npx playwright install --with-deps chromium
working-directory: frontend
- name: Run e2e tests
run: npm run test:e2e
working-directory: frontend
env:
E2E_API_URL: http://192.168.1.10:8100
- name: Upload Playwright report
if: failure()
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: playwright-report
path: frontend/playwright-report/

View File

@@ -1,12 +1,11 @@
"""Database upsert helpers for seed data."""
from sqlalchemy import delete, select, update
from sqlalchemy import delete, select
from sqlalchemy.dialects.postgresql import insert
from sqlalchemy.ext.asyncio import AsyncSession
from app.models.boss_battle import BossBattle
from app.models.boss_pokemon import BossPokemon
from app.models.encounter import Encounter
from app.models.evolution import Evolution
from app.models.game import Game
from app.models.pokemon import Pokemon
@@ -196,33 +195,17 @@ async def upsert_routes(
for child in route.get("children", []):
seed_names.add(child["name"])
# Find stale route IDs, excluding routes with user encounters
in_use_subq = select(Encounter.route_id).distinct().subquery()
stale_route_ids_result = await session.execute(
select(Route.id).where(
pruned = await session.execute(
delete(Route)
.where(
Route.version_group_id == version_group_id,
Route.name.not_in(seed_names),
Route.id.not_in(select(in_use_subq)),
)
.returning(Route.id)
)
stale_route_ids = [row.id for row in stale_route_ids_result]
if stale_route_ids:
# Delete encounters referencing stale routes (no DB-level cascade)
await session.execute(
delete(RouteEncounter).where(
RouteEncounter.route_id.in_(stale_route_ids)
)
)
# Nullify boss battle references to stale routes
await session.execute(
update(BossBattle)
.where(BossBattle.after_route_id.in_(stale_route_ids))
.values(after_route_id=None)
)
# Now safe to delete the routes
await session.execute(delete(Route).where(Route.id.in_(stale_route_ids)))
print(f" Pruned {len(stale_route_ids)} stale route(s)")
pruned_count = len(pruned.all())
if pruned_count:
print(f" Pruned {pruned_count} stale route(s)")
await session.flush()

View File

@@ -1,3 +0,0 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}