Files
GDevelop-Unlocked/.github/workflows/seam-tests.yml
T
BillyOutlast 30da3f8b4e Surgical conversion: Tier-1 patcher + launcher hook, Tier-2 extraction (Phases 1-5)
Replaces the 205-file fork delivery vehicle with patches/ + launcher/
+ versioned packages, per the implementation plan:

Phase 1: seam tripwires (27 tests) freezing every surgical target in
upstream (Usage predicate, %16 gate, SubscriptionChecker, debugger,
LoadingScreen branding, Electron hook surface, no-plugin-registry
verdict).

Phase 2: 5 generated Tier-1 hunks (round-trip verified; 3 files reach
byte-identical fork parity) + apply driver (dry-run gate, marker
verify, asar extract/repack).

Phase 3: launcher hook (preload fetch/XHR spoof of the two usage GETs,
BrowserWindow wrap, webRequest fallback, updater pin) + 06 loader
patch. Module._load interception dropped: renderers run a webpack
bundle, so the spoof rides the axios/XHR path the provider hydrates
from instead.

Phase 4: Tier-2 verbatim extraction (CustomAIClient + 12 Studio
modules + offline mock harness, manifest-pinned) + 07/08 verbatim
glue patches + pure generation shim with fail-closed leak guard.

Phase 5: web userscript demo (Tier-1 only, documented CORS/LAN/churn
limits). Phase 6 runbook + upstream provider-interface RFC draft
included; fork archiving left to owners (destructive).

Suite: 66 tests green (seams, patcher incl. re-apply refusal,
launcher incl. vm-sandbox fallback eval, tier-2 provenance, web).
2026-10-10 20:41:35 -04:00

32 lines
1.1 KiB
YAML

name: seam-tests
on:
push:
branches: [main]
pull_request:
schedule:
- cron: '0 6 * * 1' # weekly drift check against upstream baseline
jobs:
seams:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
# Baselines are gitignored locally (multi-GB); CI clones the pins:
# upstream verified-at commit + fork donor baseline (provenance tests).
- name: Clone pinned upstream baseline
run: |
git clone --no-checkout https://github.com/4ian/GDevelop review/GDevelop
git -C review/GDevelop checkout 8301cdcaa48b496f48a28a6e3a56fa833eaeddff
- name: Clone fork donor baseline
run: |
git clone --no-checkout https://github.com/Heretek-AI/GDevelop-Heretek review/GDevelop-Heretek
git -C review/GDevelop-Heretek checkout b9109cfbaaaf19c31b5af4d315317fb67d8903c3
- name: Run full suite (seams + patcher + launcher + tier-2 + web)
run: npm test
- name: Patcher gate (seams + patch inventory)
run: node scripts/apply-patches.mjs --check