Auto-release playtest builds when game files change on main #73
Loading…
Reference in a new issue
No description provided.
Delete branch "task/72-ci-release"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #72
Workflow
.forgejo/workflows/playtest-release.ymlmaintouchingscenes/,scripts/,assets/,project.godotorexport_presets.cfg, plus manual dispatch with apatch/minor/majorchoice. Tooling-only pushes (including this PR) don't build. Builds never overlap.tools/ci/build.sh: import, then headless boots of the main menu, Armory and Treasury (any GodotERRORfails before publishing), then the Windows export with a size check.tools/ci/publish_release.py: nextplaytest-X.Y.Z(patch bump from the newestplaytest-*tag; other tag lines ignored), as a prerelease with the exactProjectAwry-windows-x86_64.exeasset the launcher requires, and notes listing commits since the previous tag. A re-run for an already-released commit is a no-op; a failed upload deletes the release and tag again.RELEASE_TOKENrepo secret if that can't create releases.Runner + image (
tools/ci/)Dockerfile: Debian + Godot 4.7.2 + only the Windows x86_64 release template (~109 MB, not the 1.3 GB set), both checksum-pinned.runner/compose.yaml+config.yml:forgejo-runner13.2.0 on optibcc, using the local image (force_pull: false), labelgodot.README.md: the one-time setup (build the image, register with a token from repo Settings → Actions → Runners,docker compose up -d, first manual run).Verified in the sandbox (no Docker or runner here)
build.shon a fresh clone of currentmain: import, all 3 smoke boots, and a 109,228,648-byte Windows exe in about 11s.treasury.tscnfails the smoke step with Godot's errors, before export or publish.launcher-*ignored); a dry run against the real API givesplaytest-0.10.2fromplaytest-0.10.1; a real create + multipart upload as a hidden draft under a throwaway tag (correct asset name/size, not visible to the anonymous listing the launcher uses), then deleted; fake-API checks of the idempotent re-run and failed-upload cleanup.SHA512-SUMS.txt; both extracted members confirmed present in the 1.28 GB archive via HTTP range reads.Not yet run for real: the image build, the runner, and an end-to-end job. Those happen on optibcc after the README setup.
🤖 Generated with Claude Code