From dd0bf1f634dff158dfee4abf9753af3df9bd6996 Mon Sep 17 00:00:00 2001 From: SuperDooper86 Date: Thu, 10 Sep 2026 09:06:39 +0200 Subject: [PATCH] Keep Windows releases on their existing beta channel --- .gitea/workflows/release-windows.yml | 10 ++-------- README.md | 8 +++++--- scripts/publish-release.py | 4 ++-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/release-windows.yml b/.gitea/workflows/release-windows.yml index 07d8653..6987462 100644 --- a/.gitea/workflows/release-windows.yml +++ b/.gitea/workflows/release-windows.yml @@ -1,4 +1,4 @@ -name: Release Windows +name: Release Windows Beta on: workflow_dispatch: inputs: @@ -6,12 +6,6 @@ on: description: 'Version, e.g. 0.0.1-beta.64' required: true type: string - channel: - description: Release channel - required: true - default: windows-beta - type: choice - options: [windows-beta, windows-stable] jobs: release: if: github.ref == 'refs/heads/main' @@ -21,7 +15,7 @@ jobs: shell: powershell env: VERSION: ${{ inputs.version }} - CHANNEL: ${{ inputs.channel }} + CHANNEL: windows-beta steps: - uses: actions/checkout@v4 - name: Build Windows installer diff --git a/README.md b/README.md index b4f6735..ce85138 100644 --- a/README.md +++ b/README.md @@ -192,8 +192,8 @@ Gitea **Build** validates every push to `main` on two shared account-scoped host `mac-mini` (label `claudechecker-macos-arm64`, Xcode) and `jamespc` (label `claudechecker-windows-x64`) (Windows host, .NET 8, Inno Setup). Each run uploads its app/installer artifact. -Use **Release macOS** or **Release Windows**, select `main`, and supply a version -and channel. Stable versions use `X.Y.Z`; beta versions use `X.Y.Z-beta.N`. +Use **Release macOS** or **Release Windows Beta**, select `main`, and supply a version +(and macOS channel). Stable versions use `X.Y.Z`; beta versions use `X.Y.Z-beta.N`. The workflow builds that main revision, creates the release and uploads the asset before advancing the corresponding `version*.json` feed on main. Releases are never overwritten. macOS builds retain the existing ad-hoc signing model; this @@ -202,7 +202,9 @@ project does not currently perform Developer ID signing or notarization. Existing installs still check the old GitHub `version*.json` URLs. Those files are kept as a migration bridge advertising the first Gitea-hosted update. Keep the GitHub repository accessible for those clients; subsequent updates use Gitea. -GitHub workflows are disabled after the Gitea builds are verified. +GitHub workflows are disabled after the Gitea builds are verified. The Homebrew +cask downloads the latest stable macOS release from Gitea and enables app-managed +updates. Windows releases remain prereleases and do not replace that stable URL. Local build commands are `bash scripts/build-macos.sh` and, on Windows, `./scripts/build-windows.ps1` with `INNO_SETUP_COMPILER` pointing to `ISCC.exe`. diff --git a/scripts/publish-release.py b/scripts/publish-release.py index ba57983..1fd656b 100644 --- a/scripts/publish-release.py +++ b/scripts/publish-release.py @@ -19,7 +19,7 @@ class NoRedirect(urllib.request.HTTPRedirectHandler): def main(): version = os.environ['VERSION'] channel = os.environ['CHANNEL'] - if channel not in ('stable', 'beta', 'windows-beta', 'windows-stable'): + if channel not in ('stable', 'beta', 'windows-beta'): raise ValueError('Unknown release channel') if not re.fullmatch(r'\d+\.\d+\.\d+(-beta\.\d+)?', version): raise ValueError('Invalid release version') @@ -33,7 +33,7 @@ def main(): artifact = Path('ClaudeChecker-Installer.exe' if windows else 'ClaudeChecker.zip') notes = Path('windows/RELEASE_NOTES.md' if windows else 'RELEASE_NOTES.md').read_text() feed = {'stable': 'version.json', 'beta': 'version-beta.json', - 'windows-beta': 'version-windows-beta.json', 'windows-stable': 'version-windows.json'}[channel] + 'windows-beta': 'version-windows-beta.json'}[channel] server = os.environ['GITHUB_SERVER_URL'].rstrip('/') repo = os.environ['GITHUB_REPOSITORY'] opener = urllib.request.build_opener(NoRedirect)