Keep Windows releases on their existing beta channel
This commit is contained in:
@@ -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,9 @@ 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 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,
|
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)
|
||||||
|
|||||||
Reference in New Issue
Block a user