mirror of
https://github.com/esengine/DeepSeek-Reasonix.git
synced 2026-11-07 10:45:59 -10:00
Context: Stable and Preview need independent reviewed identities while CLI, Desktop, npm, and changelog publication remain one protected release event. Changes: - Add a protected Preview orchestrator with a shared ordinal and SignPath preflight. - Bind reviewed release notes to immutable all-surface publication markers. - Route downloads and changelog archives by channel with accessible theme-aware navigation. - Harden release authorization, manifests, tests, and operator documentation. Compatibility: - Legacy catalog entries without managed status remain readable and public. - Existing Stable pointers remain unchanged, and Preview continues mirroring the legacy canary pointer for older Desktop clients. - No persisted user state or Wails JSON contract changes. Verification: - bash scripts/release-workflows.test.sh - node --test scripts/release-notes.test.mjs - cd desktop && go test ./cmd/sign ./internal/update - cd site && npm test - cd site && npm run build - actionlint for all release workflows
40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
name: Relay CLI prerelease
|
|
run-name: Relay CLI prerelease ${{ github.ref_name }}
|
|
|
|
# Keep native CLI publication on protected main-v2. The tag-triggered workflow
|
|
# carries only the immutable candidate tag and its classified channel into the
|
|
# protected release control plane.
|
|
on:
|
|
push:
|
|
tags: ["v*-*"]
|
|
|
|
permissions:
|
|
actions: write
|
|
contents: read
|
|
|
|
jobs:
|
|
relay:
|
|
name: dispatch protected CLI control plane
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Dispatch release.yml on main-v2
|
|
uses: actions/github-script@v9
|
|
env:
|
|
RELEASE_TAG: ${{ github.ref_name }}
|
|
CONTROL_PLANE_REF: ${{ github.event.repository.default_branch }}
|
|
with:
|
|
script: |
|
|
if (process.env.CONTROL_PLANE_REF !== 'main-v2') {
|
|
core.setFailed(`Unexpected default branch: ${process.env.CONTROL_PLANE_REF}`);
|
|
return;
|
|
}
|
|
const tag = process.env.RELEASE_TAG;
|
|
const preview = /^v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)-preview\.(?:0|[1-9]\d*)$/.test(tag);
|
|
await github.rest.actions.createWorkflowDispatch({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
workflow_id: preview ? 'release-preview.yml' : 'release.yml',
|
|
ref: process.env.CONTROL_PLANE_REF,
|
|
inputs: preview ? { tag } : { channel: 'stable', tag },
|
|
});
|