Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54ff5ed1cc | ||
|
|
ed23c910dd | ||
|
|
dd0bf1f634 | ||
|
|
b53bead1d7 | ||
|
|
bec3126931 |
@@ -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
|
||||||
|
|||||||
@@ -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`.
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
@@ -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"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user