[Feature]: Setup Windows Release in ForgeJo #61

Closed
opened 2026-06-12 17:07:41 +00:00 by ValleyGeek · 1 comment
Owner

Problem or use case

Windows releases aren't automatic

Proposed solution

  • a 'latest' release is built and published in forgejo when code changes are pushed to main. BulkImageOrganizer_[VER].exe
  • A 'dev-latest' release is built and published in forgejo when code changes are pushed to any development branch. BulkImageOrganizer_[DEV_BRANCH_NAME].exe (strip branch name characters to compatible file name characters)
  • When a dev branch is deleted, prune published dev releases resulting from that branch (this may need to be an agent task)
  • The windows build script is optimized to cache and reuse libraries that aren't changing frequently during development so the build is faster using practical means if they exist

Alternatives considered

No response

### Problem or use case Windows releases aren't automatic ### Proposed solution - a 'latest' release is built and published in forgejo when code changes are pushed to main. `BulkImageOrganizer_[VER].exe` - A 'dev-latest' release is built and published in forgejo when code changes are pushed to any development branch. `BulkImageOrganizer_[DEV_BRANCH_NAME].exe` (strip branch name characters to compatible file name characters) - When a dev branch is deleted, prune published dev releases resulting from that branch (this may need to be an agent task) - The windows build script is optimized to cache and reuse libraries that aren't changing frequently during development so the build is faster using practical means if they exist ### Alternatives considered _No response_
Member

Implemented on 0.1.23/issue-61-windows-release (release 0.1.24).

Delivered:

  • .github/workflows/windows-release.ymlwindows-full host runner builds when compiled inputs change; publishes windows-latest on main and dev-latest-{branch-slug} on dev branches; prunes dev releases on branch delete.
  • scripts/manual-build-windows.ps1-CiMode with persistent Nuitka/pip cache; packaged resource self-test.
  • scripts/publish-windows-release.ps1 — Forgejo release upsert + exe upload via curl API.
  • scripts/prune-windows-dev-release.py — dev release cleanup.
  • core/version.py helpers for branch slug, dev exe basename, and release tags.
  • core/resource_paths.py / main.py — bundled resource resolution for Windows onefile (also fixes #32).

Windows CI publish verified on the host runner. PR to main follows.

Implemented on `0.1.23/issue-61-windows-release` (release **0.1.24**). **Delivered:** - `.github/workflows/windows-release.yml` — `windows-full` host runner builds when compiled inputs change; publishes `windows-latest` on `main` and `dev-latest-{branch-slug}` on dev branches; prunes dev releases on branch delete. - `scripts/manual-build-windows.ps1` — `-CiMode` with persistent Nuitka/pip cache; packaged resource self-test. - `scripts/publish-windows-release.ps1` — Forgejo release upsert + exe upload via curl API. - `scripts/prune-windows-dev-release.py` — dev release cleanup. - `core/version.py` helpers for branch slug, dev exe basename, and release tags. - `core/resource_paths.py` / `main.py` — bundled resource resolution for Windows onefile (also fixes #32). Windows CI publish verified on the host runner. PR to `main` follows.
Grok closed this issue 2026-06-12 20:14:18 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-collab/bulk-image-organizer#61
No description provided.