Disable unreliable Gitea Godot cache steps
Full build / Import + headless tests (push) Successful in 35s
Full build / Full desktop build + optional release (push) Skipped

Gitea cache restores were inconsistent and cache saves timed out or were
rejected as reserved by another job. Remove the cache steps and keep direct
4.7.2 downloads; document the evaluation and when to retry. The workflow is
otherwise clean (no .github/ci.yml exists).
This commit is contained in:
zwitschi committed 2026-11-02 09:51:59 +01:00
1 parent 9b8f513f9f
commit fbd2ab2cb3
5 files changed
+16 -49

No files matched your search

-37
View File
@@ -7,10 +7,6 @@ on:
pull_request:
workflow_dispatch:
env:
GODOT_VERSION: "4.7.2"
GODOT_BIN: /usr/local/bin/godot
jobs:
checks:
name: Import + headless tests
@@ -21,18 +17,8 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Restore Godot binary cache
uses: actions/cache@v4
with:
path: /usr/local/bin/godot
key: godot-checks-${{ runner.os }}-${{ env.GODOT_VERSION }}-v2
- name: Install Godot 4.7.2
run: |
if [ -x /usr/local/bin/godot ]; then
godot --version
exit 0
fi
curl -sL -o /tmp/godot.zip \
https://github.com/godotengine/godot/releases/download/4.7.2-stable/Godot_v4.7.2-stable_linux.x86_64.zip
unzip -qo /tmp/godot.zip -d /tmp/godot-bin
@@ -71,38 +57,15 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Restore Godot binary cache
uses: actions/cache@v4
with:
path: /usr/local/bin/godot
key: godot-build-${{ runner.os }}-${{ env.GODOT_VERSION }}-v2
- name: Restore export templates cache
uses: actions/cache@v4
with:
path: ~/.local/share/godot/export_templates/4.7.2.stable
key: godot-templates-${{ runner.os }}-${{ env.GODOT_VERSION }}-v2
- name: Install Godot 4.7.2 and export templates
run: |
if [ ! -x /usr/local/bin/godot ]; then
curl -sL -o /tmp/godot.zip \
https://github.com/godotengine/godot/releases/download/4.7.2-stable/Godot_v4.7.2-stable_linux.x86_64.zip
unzip -qo /tmp/godot.zip -d /tmp/godot-bin
sudo install /tmp/godot-bin/Godot_v4.7.2-stable_linux.x86_64 /usr/local/bin/godot
fi
godot --version
TEMPLATE_DIR="$HOME/.local/share/godot/export_templates/4.7.2.stable"
NEEDED="version.txt icudt_godot.dat linux_release.x86_64 windows_release_x86_64.exe macos.zip web_nothreads_release.zip web_dlink_nothreads_release.zip"
missing=0
for file in $NEEDED; do
[ -f "$TEMPLATE_DIR/$file" ] || missing=1
done
if [ "$missing" -eq 0 ]; then
echo "export templates restored from cache"
ls "$TEMPLATE_DIR" | head -10
exit 0
fi
curl -sL -o /tmp/templates.tpz \
https://github.com/godotengine/godot/releases/download/4.7.2-stable/Godot_v4.7.2-stable_export_templates.tpz
rm -rf /tmp/tpl && mkdir -p /tmp/tpl
+2 -2
View File
@@ -10,8 +10,8 @@ Semantic Versioning.
- Unified the project, local tooling and CI/release environment on Godot 4.7.2,
including matching export templates and project feature metadata.
- Added Gitea Actions cache for the Godot binary and export templates to reduce
repeated download time.
- Evaluated Gitea Actions cache for the Godot binary/templates; disabled it after
cache saves timed out or were rejected, pending a healthy host cache service.
- Updated release and setup documentation for the 4.7.2 baseline.
## [0.9.0] — 2026-11-01
+7 -4
View File
@@ -63,7 +63,8 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
Export templates for 4.7.2 are installed under
`~/.local/share/godot/export_templates/4.7.2.stable`. Godot 4.7 writes
`*.gd.uid` files; they are kept out of this clone's status via
`.git/info/exclude`. CI caches the binary/templates with Gitea Actions cache.
`.git/info/exclude`. CI downloads the binary/templates directly; Gitea
Actions cache is currently unreliable (see CI cache evaluation below).
- **Blender invocation (v0.6.0):** `flatpak run org.blender.Blender --background --python
/run/media/system/DATA/Documents/06-games/security-game/tools/npc_pipeline.py -- build`.
The flatpak cannot read `/tmp`; use absolute repo paths. `assets/models/npc/.gdignore` is
@@ -576,9 +577,11 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
- Venue cycling: `V` switches Hollywood Blvd → The Joke Shop → TV Studio and restarts the shift.
- Venue door-staff dialogue: `VenueScenario.door_staff_line(context, rng)` and GameManager logging
(id/ticket/wand-check, refusal, prohibited-item) — Joke Shop flavor.
- CI cache: `.gitea/workflows/build.yml` caches `/usr/local/bin/godot` and the
4.7.2 export templates with Gitea Actions cache. `GODOT_SILENCE_ROOT_WARNING=1`
is set on jobs.
- CI cache evaluation: Gitea Actions cache was tested for the Godot binary and
trimmed 4.7.2 templates. Restores were inconsistent and saves timed out in
`CreateCacheEntry` or were rejected as reserved by another job. The cache steps
are disabled until the host cache service is healthy; keep direct downloads.
`GODOT_SILENCE_ROOT_WARNING=1` is set on jobs.
Logs live in `.gitea/logs/` after each run.
- Visual polish (v0.2.0): phase lighting (GameManager.PHASE_LIGHTING + ProceduralSkyMaterial),
street lamps + night mode in WorldBuilder.set_night_mode, marquee Label3D, crosswalk/planters/
+6 -5
View File
@@ -63,11 +63,12 @@ setup, so do not rely on it.
> artifacts. If CI publishing fails again, run
> `./tools/publish_release.sh <version>` from a checkout with `~/.git-credentials`.
> **Godot cache:** the workflow uses Gitea Actions cache for the Godot binary and a
> trimmed 4.7.2 export-template set (Linux/Windows/macOS/Web release files only, not
> Android/iOS). The first run still downloads them; subsequent runs restore from cache.
> If the host cache service is unavailable, remove the cache steps and let the install
> steps download fresh copies.
> **Godot cache evaluation:** Gitea Actions cache was tested for the Godot binary and
> trimmed 4.7.2 templates. Restores worked intermittently, but cache saves timed out
> in `CreateCacheEntry` / were rejected as reserved by another job. The cache steps
> were removed because they added restore/save overhead without a reliable hit.
> Revisit when the host's Gitea Actions cache service is healthy; otherwise keep
> downloading the binary/templates directly.
> The workflow lives in `.gitea/workflows/` (Gitea's canonical path). The old
> `.github/workflows/ci.yml` was removed to avoid double runs on hosts that scan
+1 -1
View File
@@ -188,7 +188,7 @@ Future options include external analytics, cloud saves, or replay sharing, but t
A continuous-integration pipeline keeps the headless test suite green on every change and publishes tagged releases.
- **Workflow:** `.gitea/workflows/build.yml` runs on pushes, pull requests, tags, and manual dispatches. The `checks` job restores/caches Godot 4.7.2, imports the project, and runs `res://src/test/test_runner.gd`; it fails on a non-zero exit code or any `SCRIPT ERROR` in the output.
- **Workflow:** `.gitea/workflows/build.yml` runs on pushes, pull requests, tags, and manual dispatches. The `checks` job installs Godot 4.7.2, imports the project, and runs `res://src/test/test_runner.gd`; it fails on a non-zero exit code or any `SCRIPT ERROR` in the output.
- **Build job:** runs for tags and manual dispatches. It installs export templates, exports Linux/Windows/macOS and the non-threaded Web build, packages the NSIS installer, Linux AppImage and optional Desktop HQ zip, verifies the installer contents, and uploads the artifacts.
- **Publish job:** tag builds call `tools/publish_release.sh` to create the Gitea release and upload the standard artifacts plus the optional Desktop HQ zip. The script uses `GITEA_TOKEN` when configured and otherwise reuses the runner's checkout extraheader credentials.
- **Hosting:** the repository lives on Gitea (`https://git.allucanget.biz/zwitschi/security-game`). Export templates must match the pinned Godot version; macOS builds are unsigned and need quarantine guidance or notarization for wider distribution.