HTTP 200 2026-10-17T10:42:16.3815004Z felhom-gates-runner(version:v0.6.1) received task 2018 of job gates, be triggered by event: workflow_dispatch 2026-10-17T10:42:16.3828198Z workflow prepared 2026-10-17T10:42:16.3872302Z evaluating expression 'success()' 2026-10-17T10:42:16.3873226Z expression 'success()' evaluated to 'true' 2026-10-17T10:42:16.3902795Z evaluating expression '' 2026-10-17T10:42:16.3903231Z expression '' evaluated to 'true' 2026-10-17T10:42:16.3903389Z ⭐ Run Main Fetch the pushed commit 2026-10-17T10:42:16.3907376Z Wrote command \n\n# R-265: the start stamp the alarm reports, so a mail can never again describe a run\n# without saying how long it took.\necho "GATES_STARTED_AT=$(date +%s)" >> "$GITHUB_ENV"\n# Shallow, and pinned to the exact SHA that was pushed — not to the branch tip, which can\n# move under us if two pushes race. Probe P3 proved the two are equal when done this way.\ngit init -q .\ngit remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom.eu.git\ngit fetch -q --depth 1 origin "$GITHUB_SHA"\ngit checkout -q FETCH_HEAD\necho "checked out $(git rev-parse HEAD)"\n\n\n to 'workflow/0.sh' 2026-10-17T10:42:16.3908640Z ::group::Run # R-265: the start stamp the alarm reports, so a mail can never again describe a run 2026-10-17T10:42:16.3908932Z # R-265: the start stamp the alarm reports, so a mail can never again describe a run 2026-10-17T10:42:16.3909204Z # without saying how long it took. 2026-10-17T10:42:16.3909320Z echo "GATES_STARTED_AT=$(date +%s)" >> "$GITHUB_ENV" 2026-10-17T10:42:16.3909437Z # Shallow, and pinned to the exact SHA that was pushed — not to the branch tip, which can 2026-10-17T10:42:16.3909644Z # move under us if two pushes race. Probe P3 proved the two are equal when done this way. 2026-10-17T10:42:16.3909773Z git init -q . 2026-10-17T10:42:16.3909879Z git remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom.eu.git 2026-10-17T10:42:16.3910033Z git fetch -q --depth 1 origin "$GITHUB_SHA" 2026-10-17T10:42:16.3910150Z git checkout -q FETCH_HEAD 2026-10-17T10:42:16.3910252Z echo "checked out $(git rev-parse HEAD)" 2026-10-17T10:42:16.3910388Z shell: bash --noprofile --norc -e -o pipefail {0} 2026-10-17T10:42:16.3910561Z ::endgroup:: 2026-10-17T10:42:39.0025786Z checked out 498b9139cf2a292a319a84ec222b092f1bb6be6f 2026-10-17T10:42:39.0046819Z ::group::Run git init -q ../felhom-agent 2026-10-17T10:42:39.0047174Z git init -q ../felhom-agent 2026-10-17T10:42:39.0047392Z cd ../felhom-agent 2026-10-17T10:42:39.0047597Z git remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom-agent.git 2026-10-17T10:42:39.0047828Z git fetch -q --depth 1 origin main 2026-10-17T10:42:39.0048022Z git checkout -q FETCH_HEAD 2026-10-17T10:42:39.0048219Z echo "agent at $(git rev-parse --short=12 HEAD)" 2026-10-17T10:42:39.0048520Z shell: bash --noprofile --norc -e -o pipefail {0} 2026-10-17T10:42:39.0048767Z ::endgroup:: 2026-10-17T10:42:41.7231382Z agent at c52d59185103 2026-10-17T10:42:41.7249673Z ::group::Run git init -q ../felhom-controller 2026-10-17T10:42:41.7250105Z git init -q ../felhom-controller 2026-10-17T10:42:41.7250378Z cd ../felhom-controller 2026-10-17T10:42:41.7250605Z git remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/felhom-controller.git 2026-10-17T10:42:41.7250869Z git fetch -q --depth 1 origin main 2026-10-17T10:42:41.7251116Z git checkout -q FETCH_HEAD 2026-10-17T10:42:41.7251334Z echo "controller CHANGELOG at $(git rev-parse --short=12 HEAD): $(head -1 CHANGELOG.md)" 2026-10-17T10:42:41.7251606Z shell: bash --noprofile --norc -e -o pipefail {0} 2026-10-17T10:42:41.7251859Z ::endgroup:: 2026-10-17T10:42:45.9201908Z controller CHANGELOG at 3e8d02767763: ## v0.326.0 — FileBrowser's default password is checked at every FileBrowser start; the decoy suite is a gate (2026-10-17) 2026-10-17T10:42:45.9220276Z ::group::Run git init -q ../app-catalog-felhom.eu 2026-10-17T10:42:45.9220782Z git init -q ../app-catalog-felhom.eu 2026-10-17T10:42:45.9221028Z cd ../app-catalog-felhom.eu 2026-10-17T10:42:45.9221275Z git remote add origin http://gitea.gitea-system.svc.cluster.local:3000/admin/app-catalog-felhom.eu.git 2026-10-17T10:42:45.9221528Z git fetch -q --depth 1 origin main 2026-10-17T10:42:45.9221743Z git checkout -q FETCH_HEAD 2026-10-17T10:42:45.9221951Z echo "catalog at $(git rev-parse --short=12 HEAD)" 2026-10-17T10:42:45.9222168Z shell: bash --noprofile --norc -e -o pipefail {0} 2026-10-17T10:42:45.9222404Z ::endgroup:: 2026-10-17T10:42:47.1931237Z catalog at 356659dd60e0 2026-10-17T10:42:47.1961807Z ::group::Run set -u 2026-10-17T10:42:47.1962230Z set -u 2026-10-17T10:42:47.1962482Z python3 - > /tmp/pushed-files.txt <<'PY' || : > /tmp/pushed-files.txt 2026-10-17T10:42:47.1962731Z import json, os, sys 2026-10-17T10:42:47.1962936Z path = os.environ.get("GITHUB_EVENT_PATH", "") 2026-10-17T10:42:47.1963183Z if not path or not os.path.isfile(path): 2026-10-17T10:42:47.1963404Z sys.stderr.write("no GITHUB_EVENT_PATH - the file list is unknown\n") 2026-10-17T10:42:47.1963641Z raise SystemExit(0) 2026-10-17T10:42:47.1963844Z try: 2026-10-17T10:42:47.1964034Z ev = json.load(open(path)) 2026-10-17T10:42:47.1964234Z except Exception as e: 2026-10-17T10:42:47.1964427Z sys.stderr.write("event payload unreadable: %s\n" % e) 2026-10-17T10:42:47.1964653Z raise SystemExit(0) 2026-10-17T10:42:47.1964855Z commits = ev.get("commits") or [] 2026-10-17T10:42:47.1965046Z if not commits: 2026-10-17T10:42:47.1965246Z sys.stderr.write("the payload carries no commits array - unknown\n") 2026-10-17T10:42:47.1965473Z raise SystemExit(0) 2026-10-17T10:42:47.1965671Z seen = [] 2026-10-17T10:42:47.1965860Z for c in commits: 2026-10-17T10:42:47.1966061Z for key in ("added", "modified", "removed"): 2026-10-17T10:42:47.1966274Z for f in (c.get(key) or []): 2026-10-17T10:42:47.1966466Z if f not in seen: 2026-10-17T10:42:47.1966667Z seen.append(f) 2026-10-17T10:42:47.1966861Z sys.stderr.write("%d commit(s), %d distinct path(s) in the payload\n" 2026-10-17T10:42:47.1967086Z % (len(commits), len(seen))) 2026-10-17T10:42:47.1967289Z for f in seen: 2026-10-17T10:42:47.1967475Z print(f) 2026-10-17T10:42:47.1967659Z PY 2026-10-17T10:42:47.1967839Z echo "--- paths the push event reported ---" 2026-10-17T10:42:47.1968046Z cat /tmp/pushed-files.txt 2026-10-17T10:42:47.1968237Z echo "-------------------------------------" 2026-10-17T10:42:47.1968452Z if [ -s /tmp/pushed-files.txt ] && [ -f scripts/push_scope.py ]; then 2026-10-17T10:42:47.1968683Z SCOPE=$(python3 scripts/push_scope.py --files-from /tmp/pushed-files.txt) || SCOPE=code 2026-10-17T10:42:47.1968911Z else 2026-10-17T10:42:47.1969126Z echo "no usable file list - treating this push as CODE (fail-closed)" 2026-10-17T10:42:47.1969348Z SCOPE=code 2026-10-17T10:42:47.1969540Z fi 2026-10-17T10:42:47.1969718Z [ "$SCOPE" = "docs" ] || SCOPE=code 2026-10-17T10:42:47.1969925Z echo "PUSH_SCOPE=$SCOPE" >> "$GITHUB_ENV" 2026-10-17T10:42:47.1970126Z echo "scope: $SCOPE" 2026-10-17T10:42:47.1970319Z shell: bash --noprofile --norc -e -o pipefail {0} 2026-10-17T10:42:47.1970556Z ::endgroup:: 2026-10-17T10:42:47.2946407Z the payload carries no commits array - unknown 2026-10-17T10:42:47.3007760Z --- paths the push event reported --- 2026-10-17T10:42:47.3028393Z ------------------------------------- 2026-10-17T10:42:47.3031134Z no usable file list - treating this push as CODE (fail-closed) 2026-10-17T10:42:47.3033269Z scope: code 2026-10-17T10:42:47.3048114Z ::group::Run python3 scripts/repo_gates.py --fast --scope="${PUSH_SCOPE:-code}" 2026-10-17T10:42:47.3048402Z python3 scripts/repo_gates.py --fast --scope="${PUSH_SCOPE:-code}" 2026-10-17T10:42:47.3048565Z shell: bash --noprofile --norc -e -o pipefail {0} 2026-10-17T10:42:47.3048745Z ::endgroup:: 2026-10-17T10:42:47.4176573Z repo_gates (felhom.eu) — 19 gate(s) [--fast] 2026-10-17T10:42:47.4177864Z --fast SKIPPED (deliberate periodic runs, never in a hook): iso-bootstrap 2026-10-17T10:42:47.4562998Z WARNING: this clone is UNARMED — core.hooksPath is unset, so the pre-push hook will not 2026-10-17T10:42:47.4563607Z run here. Switch it on once with: git config core.hooksPath .githooks 2026-10-17T10:42:47.4564028Z 2026-10-17T10:42:47.4564253Z ============================================================================== 2026-10-17T10:42:47.4564482Z == gate: site (site_gates.py) 2026-10-17T10:42:47.4564692Z ============================================================================== 2026-10-17T10:42:53.4055083Z shell sidebar: 11 en page(s), all identical to en/apps.html 2026-10-17T10:42:53.4056019Z shell sidebar: 15 hu page(s), all identical to 404.html 2026-10-17T10:42:53.4056299Z download pages agree: felhom-installer-1.29.0-pve9.2-1.iso, sha dceacae5da24… 2026-10-17T10:42:53.4056588Z twins: 11 pairs checked both ways (hreflang, globe, canonical), 0 of them unlisted 2026-10-17T10:42:53.4057142Z apps pages agree: 0 cards, 64 logos 2026-10-17T10:42:53.4057407Z no-HU matcher controls OK (positive 'Jelentkezz be'/'Kapcsolat' convict, negative 'Angola…' does not) 2026-10-17T10:42:53.4057734Z gyik.html: JSON-LD equals the 42 visible questions and answers 2026-10-17T10:42:53.4058005Z en/faq.html: JSON-LD equals the 42 visible questions and answers 2026-10-17T10:42:53.4058242Z dashboard pictures: 24 references, each in its page's language 2026-10-17T10:42:53.4058469Z picture viewer: 390 openers, every one a link to an existing file 2026-10-17T10:42:53.4058702Z app logos: 65 catalog apps, each with its -logo file 2026-10-17T10:42:53.4058957Z shell leak: 759 site rules vs 119 shell rules, 9 shared selector(s), 0 leaking declarations (media-aware) 2026-10-17T10:42:53.4059204Z anchors: 416 in-site #fragment(s), every one resolves 2026-10-17T10:42:53.4059435Z sitemap: 24 URL(s), every public page once, every twin pair cross-named 2026-10-17T10:42:53.4059695Z unlisted: 0 page(s) — noindex, robots Disallow, not in the sitemap, linked from no other page 2026-10-17T10:42:53.4060063Z site gates OK — BOM, emoji=0, nav/footer per language, analytics, no CDN, no legacy tokens, no