Disable unreliable Gitea Godot cache steps
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:
1 parent
9b8f513f9f
commit
fbd2ab2cb3
5 files changed
+20
-53
No files matched your search
@@ -7,10 +7,6 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
|
||||||
GODOT_VERSION: "4.7.2"
|
|
||||||
GODOT_BIN: /usr/local/bin/godot
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
checks:
|
checks:
|
||||||
name: Import + headless tests
|
name: Import + headless tests
|
||||||
@@ -21,18 +17,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- 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
|
- name: Install Godot 4.7.2
|
||||||
run: |
|
run: |
|
||||||
if [ -x /usr/local/bin/godot ]; then
|
|
||||||
godot --version
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
curl -sL -o /tmp/godot.zip \
|
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
|
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
|
unzip -qo /tmp/godot.zip -d /tmp/godot-bin
|
||||||
@@ -71,38 +57,15 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- 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
|
- name: Install Godot 4.7.2 and export templates
|
||||||
run: |
|
run: |
|
||||||
if [ ! -x /usr/local/bin/godot ]; then
|
curl -sL -o /tmp/godot.zip \
|
||||||
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
|
||||||
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
|
||||||
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
|
||||||
sudo install /tmp/godot-bin/Godot_v4.7.2-stable_linux.x86_64 /usr/local/bin/godot
|
|
||||||
fi
|
|
||||||
godot --version
|
godot --version
|
||||||
TEMPLATE_DIR="$HOME/.local/share/godot/export_templates/4.7.2.stable"
|
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"
|
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 \
|
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
|
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
|
rm -rf /tmp/tpl && mkdir -p /tmp/tpl
|
||||||
|
|||||||
+2
-2
@@ -10,8 +10,8 @@ Semantic Versioning.
|
|||||||
|
|
||||||
- Unified the project, local tooling and CI/release environment on Godot 4.7.2,
|
- Unified the project, local tooling and CI/release environment on Godot 4.7.2,
|
||||||
including matching export templates and project feature metadata.
|
including matching export templates and project feature metadata.
|
||||||
- Added Gitea Actions cache for the Godot binary and export templates to reduce
|
- Evaluated Gitea Actions cache for the Godot binary/templates; disabled it after
|
||||||
repeated download time.
|
cache saves timed out or were rejected, pending a healthy host cache service.
|
||||||
- Updated release and setup documentation for the 4.7.2 baseline.
|
- Updated release and setup documentation for the 4.7.2 baseline.
|
||||||
|
|
||||||
## [0.9.0] — 2026-11-01
|
## [0.9.0] — 2026-11-01
|
||||||
|
|||||||
@@ -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
|
Export templates for 4.7.2 are installed under
|
||||||
`~/.local/share/godot/export_templates/4.7.2.stable`. Godot 4.7 writes
|
`~/.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
|
`*.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
|
- **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`.
|
/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
|
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 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
|
- Venue door-staff dialogue: `VenueScenario.door_staff_line(context, rng)` and GameManager logging
|
||||||
(id/ticket/wand-check, refusal, prohibited-item) — Joke Shop flavor.
|
(id/ticket/wand-check, refusal, prohibited-item) — Joke Shop flavor.
|
||||||
- CI cache: `.gitea/workflows/build.yml` caches `/usr/local/bin/godot` and the
|
- CI cache evaluation: Gitea Actions cache was tested for the Godot binary and
|
||||||
4.7.2 export templates with Gitea Actions cache. `GODOT_SILENCE_ROOT_WARNING=1`
|
trimmed 4.7.2 templates. Restores were inconsistent and saves timed out in
|
||||||
is set on jobs.
|
`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.
|
Logs live in `.gitea/logs/` after each run.
|
||||||
- Visual polish (v0.2.0): phase lighting (GameManager.PHASE_LIGHTING + ProceduralSkyMaterial),
|
- Visual polish (v0.2.0): phase lighting (GameManager.PHASE_LIGHTING + ProceduralSkyMaterial),
|
||||||
street lamps + night mode in WorldBuilder.set_night_mode, marquee Label3D, crosswalk/planters/
|
street lamps + night mode in WorldBuilder.set_night_mode, marquee Label3D, crosswalk/planters/
|
||||||
|
|||||||
+6
-5
@@ -63,11 +63,12 @@ setup, so do not rely on it.
|
|||||||
> artifacts. If CI publishing fails again, run
|
> artifacts. If CI publishing fails again, run
|
||||||
> `./tools/publish_release.sh <version>` from a checkout with `~/.git-credentials`.
|
> `./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
|
> **Godot cache evaluation:** Gitea Actions cache was tested for the Godot binary and
|
||||||
> trimmed 4.7.2 export-template set (Linux/Windows/macOS/Web release files only, not
|
> trimmed 4.7.2 templates. Restores worked intermittently, but cache saves timed out
|
||||||
> Android/iOS). The first run still downloads them; subsequent runs restore from cache.
|
> in `CreateCacheEntry` / were rejected as reserved by another job. The cache steps
|
||||||
> If the host cache service is unavailable, remove the cache steps and let the install
|
> were removed because they added restore/save overhead without a reliable hit.
|
||||||
> steps download fresh copies.
|
> 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
|
> 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
|
> `.github/workflows/ci.yml` was removed to avoid double runs on hosts that scan
|
||||||
|
|||||||
@@ -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.
|
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.
|
- **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.
|
- **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.
|
- **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.
|
||||||
|
|||||||
Reference in new issue
Block a user