Compare commits

..
Author SHA1 Message Date
coder 54ff5ed1cc Document completed Homebrew migration [skip ci] 2026-09-10 09:13:59 +02:00
coder ed23c910dd Record verified migration and remaining Homebrew bridge [skip ci] 2026-09-10 09:11:42 +02:00
coder dd0bf1f634 Keep Windows releases on their existing beta channel
Build / windows (push) Successful in 30s
Build / macos (push) Successful in 10s
2026-09-10 09:06:39 +02:00
Gitea Actions b53bead1d7 Update windows-beta feed to win-v0.0.1-beta.64 2026-09-10 09:05:11 +02:00
Gitea Actions bec3126931 Update stable feed to v1.3.3 2026-09-10 09:04:51 +02:00
5 changed files with 16 additions and 19 deletions
+2 -8
View File
@@ -1,4 +1,4 @@
name: Release Windows name: Release Windows Beta
on: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
@@ -6,12 +6,6 @@ on:
description: 'Version, e.g. 0.0.1-beta.64' description: 'Version, e.g. 0.0.1-beta.64'
required: true required: true
type: string type: string
channel:
description: Release channel
required: true
default: windows-beta
type: choice
options: [windows-beta, windows-stable]
jobs: jobs:
release: release:
if: github.ref == 'refs/heads/main' if: github.ref == 'refs/heads/main'
@@ -21,7 +15,7 @@ jobs:
shell: powershell shell: powershell
env: env:
VERSION: ${{ inputs.version }} VERSION: ${{ inputs.version }}
CHANNEL: ${{ inputs.channel }} CHANNEL: windows-beta
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Build Windows installer - name: Build Windows installer
+6 -3
View File
@@ -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`) `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. (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 Use **Release macOS** or **Release Windows Beta**, select `main`, and supply a version
and channel. Stable versions use `X.Y.Z`; beta versions use `X.Y.Z-beta.N`. (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 The workflow builds that main revision, creates the release and uploads the asset
before advancing the corresponding `version*.json` feed on main. Releases are before advancing the corresponding `version*.json` feed on main. Releases are
never overwritten. macOS builds retain the existing ad-hoc signing model; this never overwritten. macOS builds retain the existing ad-hoc signing model; this
@@ -202,7 +202,10 @@ project does not currently perform Developer ID signing or notarization.
Existing installs still check the old GitHub `version*.json` URLs. Those files 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 are kept as a migration bridge advertising the first Gitea-hosted update. Keep
the GitHub repository accessible for those clients; subsequent updates use Gitea. the GitHub repository accessible for those clients; subsequent updates use Gitea.
GitHub workflows are disabled after the Gitea builds are verified. GitHub workflows were removed after the Gitea builds passed. Windows releases
remain prereleases, so `/releases/download/latest/ClaudeChecker.zip` always serves
the stable macOS release. The Homebrew tap downloads that Gitea URL and enables
app-managed updates; it no longer needs a tap commit for every release.
Local build commands are `bash scripts/build-macos.sh` and, on Windows, Local build commands are `bash scripts/build-macos.sh` and, on Windows,
`./scripts/build-windows.ps1` with `INNO_SETUP_COMPILER` pointing to `ISCC.exe`. `./scripts/build-windows.ps1` with `INNO_SETUP_COMPILER` pointing to `ISCC.exe`.
+2 -2
View File
@@ -19,7 +19,7 @@ class NoRedirect(urllib.request.HTTPRedirectHandler):
def main(): def main():
version = os.environ['VERSION'] version = os.environ['VERSION']
channel = os.environ['CHANNEL'] 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') raise ValueError('Unknown release channel')
if not re.fullmatch(r'\d+\.\d+\.\d+(-beta\.\d+)?', version): if not re.fullmatch(r'\d+\.\d+\.\d+(-beta\.\d+)?', version):
raise ValueError('Invalid release version') raise ValueError('Invalid release version')
@@ -33,7 +33,7 @@ def main():
artifact = Path('ClaudeChecker-Installer.exe' if windows else 'ClaudeChecker.zip') artifact = Path('ClaudeChecker-Installer.exe' if windows else 'ClaudeChecker.zip')
notes = Path('windows/RELEASE_NOTES.md' if windows else 'RELEASE_NOTES.md').read_text() notes = Path('windows/RELEASE_NOTES.md' if windows else 'RELEASE_NOTES.md').read_text()
feed = {'stable': 'version.json', 'beta': 'version-beta.json', 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('/') server = os.environ['GITHUB_SERVER_URL'].rstrip('/')
repo = os.environ['GITHUB_REPOSITORY'] repo = os.environ['GITHUB_REPOSITORY']
opener = urllib.request.build_opener(NoRedirect) opener = urllib.request.build_opener(NoRedirect)
+3 -3
View File
@@ -1,5 +1,5 @@
{ {
"version": "0.0.1-beta.63", "version": "0.0.1-beta.64",
"url": "https://git.jamesbone.net/coder/claudechecker/releases/download/win-v0.0.1-beta.63/ClaudeChecker-Installer.exe", "url": "https://git.jamesbone.net/coder/claudechecker/releases/download/win-v0.0.1-beta.64/ClaudeChecker-Installer.exe",
"notes": "## What's new in beta.62\r\n\r\n### Installer\r\n- App now ships as a proper Windows installer (no more zip extract)\r\n- Installs to user AppData — no admin rights required\r\n- Auto-update now downloads and silently runs the new installer, then relaunches\r\n- Desktop shortcut creation is optional during install\r\n\r\n### Bug fixes\r\n- Fixed app crash on launch (startup DllNotFoundException caused by single-file publish; all DLLs now installed alongside the exe)\r\n- Fixed clicking Copy in Diagnostics crashing the app (CLIPBRD_E_CANT_OPEN)\r\n- Fixed Sign In — Done button now always clickable; session detection no longer depends on specific cookie names that may have changed\r\n\r\n### Diagnostics\r\n- Org IDs are now redacted when copying diagnostics text\r\n- Removed stale Cookie Store section (always showed 0)\r\n- Fixed missing fields in copied diagnostics output\r\n- Privacy note added below diagnostics header" "notes": "## What's new in beta.64\n\n- Updates and release downloads now come from git.jamesbone.net.\n- Windows installers now build through Gitea Actions from main.\n"
} }
+3 -3
View File
@@ -1,5 +1,5 @@
{ {
"version": "1.3.2", "version": "1.3.3",
"url": "https://git.jamesbone.net/coder/claudechecker/releases/download/v1.3.2/ClaudeChecker.zip", "url": "https://git.jamesbone.net/coder/claudechecker/releases/download/v1.3.3/ClaudeChecker.zip",
"notes": "## What's new in v1.3.2\n\n### Reliability\n- Data now loads automatically on every app launch without requiring manual re-authentication. The background WebView is anchored in a hidden window so macOS no longer throttles its JavaScript execution." "notes": "## What's new in v1.3.3\n\n- Updates and release downloads now come from git.jamesbone.net.\n- macOS and Windows builds are managed by Gitea Actions from main.\n"
} }