diff --git a/.gitea/workflows/diag-staging.yml b/.gitea/workflows/diag-staging.yml new file mode 100644 index 0000000..8cd4c93 --- /dev/null +++ b/.gitea/workflows/diag-staging.yml @@ -0,0 +1,28 @@ +# TEMPORARY diagnostic workflow — delete after the rankings year= bug is closed. +name: Staging Rankings Diagnostic + +on: + push: + branches: + - diag/staging-rankings-year + +jobs: + staging-api-diagnostic: + name: Staging rankings year diagnostic + runs-on: ubuntu-latest + steps: + - name: Probe staging rankings year handling + env: + BASE: ${{ secrets.STAGING_BASE_URL }} + run: | + probe() { + echo "== $1 ==" + curl -s --max-time 15 -D /tmp/h.txt -o /tmp/b.txt "$BASE$1" + echo "--- headers:"; cat /tmp/h.txt + echo "--- body (first 400 bytes):"; head -c 400 /tmp/b.txt; echo + } + probe "/api/data-info" + probe "/api/filters" + probe "/api/rankings?metric=rwm_expected_pct&limit=3" + probe "/api/rankings?metric=rwm_expected_pct&limit=3&year=202425" + probe "/" diff --git a/.gitea/workflows/pr-checks.yml b/.gitea/workflows/pr-checks.yml index be8783a..ccc3953 100644 --- a/.gitea/workflows/pr-checks.yml +++ b/.gitea/workflows/pr-checks.yml @@ -12,7 +12,25 @@ env: PIPELINE_IMAGE_NAME: ${{ gitea.repository }}-pipeline jobs: - frontend-checks: + # TEMPORARY: evidence gathering for the rankings year= empty-list bug on + # staging. Remove before merging. Prints status codes and row counts only. + staging-api-diagnostic: + name: Staging rankings year diagnostic + runs-on: ubuntu-latest + steps: + - name: Probe staging rankings year handling + env: + BASE: ${{ secrets.STAGING_BASE_URL }} + run: | + echo "== /api/filters years ==" + curl -s --max-time 15 "$BASE/api/filters" -o /tmp/f.json -w "status %{http_code}\n" + python3 -c "import json; print(json.load(open('/tmp/f.json')).get('years'))" || head -c 300 /tmp/f.json + echo "== /api/rankings probes (metric=rwm_expected_pct, limit=3) ==" + for Q in "" "&year=202425" "&year=201819" "&year=2024"; do + CODE=$(curl -s --max-time 15 -o /tmp/r.json -w "%{http_code}" "$BASE/api/rankings?metric=rwm_expected_pct&limit=3$Q") + echo "query [$Q] -> status $CODE" + python3 -c "import json; d=json.load(open('/tmp/r.json')); print(' year:', d.get('year'), 'total:', d.get('total'), 'rows:', len(d.get('rankings', [])))" || head -c 300 /tmp/r.json + done name: Frontend Typecheck + Tests runs-on: ubuntu-latest steps: