Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/publish-github-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,9 @@ jobs:
"docs/RELEASE-NOTES-v$version.en.md"
)
$hydratedFromMain = $false
$preferMainReleaseNotes = '${{ github.event_name }}' -eq 'workflow_dispatch'
foreach ($noteFile in $noteFiles) {
if (-not (Test-Path -LiteralPath $noteFile -PathType Leaf)) {
if ($preferMainReleaseNotes -or -not (Test-Path -LiteralPath $noteFile -PathType Leaf)) {
$content = git show "origin/main:$noteFile"
if ($LASTEXITCODE -ne 0 -or [string]::IsNullOrWhiteSpace(($content -join "`n"))) { throw "Missing release notes in both release tag and main: $noteFile" }
$directory = Split-Path -Parent $noteFile
Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/repair-unpublished-v040-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Repair Unpublished v0.4.0 Release

on:
push:
branches: [main]
paths:
- '.github/workflows/repair-unpublished-v040-release.yml'

permissions:
contents: write
actions: write

jobs:
repair-and-dispatch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Verify immutable unpublished v0.4.0 tag
shell: bash
env:
GH_TOKEN: ${{ github.token }}
run: |
set -euo pipefail
tag='v0.4.0'
if gh release view "$tag" >/dev/null 2>&1; then
echo "$tag already has a published GitHub Release; no repair is needed."
exit 0
fi

git fetch --tags --force
existing="$(git rev-list -n 1 "refs/tags/$tag" 2>/dev/null || true)"
if [[ -z "$existing" ]]; then
echo "$tag is missing; refusing to create or retarget it from the repair workflow."
exit 1
fi
echo "$tag remains immutable at $existing; only release-note metadata will be hydrated from main."

- name: Dispatch normal release workflow
shell: bash
env:
GH_TOKEN: ${{ github.token }}
run: |
set -euo pipefail
tag='v0.4.0'
if gh release view "$tag" >/dev/null 2>&1; then
echo "$tag already has a published GitHub Release; skipping dispatch."
exit 0
fi
gh workflow run publish-github-release.yml -f version=0.4.0 -f dry_run=false
echo 'Dispatched normal Publish GitHub Release workflow for immutable v0.4.0.'
2 changes: 2 additions & 0 deletions docs/RELEASE-NOTES-v0.4.0.en.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# SpatialViewer v0.4.0

[简体中文](RELEASE-NOTES-v0.4.0.md) | [日本語](RELEASE-NOTES-v0.4.0.ja.md) | English

v0.4.0 adds the Rhino 3DM viewing workflow while preserving the existing CAD viewer and WinUI 3 shell behavior.

## Rhino 3DM
Expand Down
2 changes: 2 additions & 0 deletions docs/RELEASE-NOTES-v0.4.0.ja.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# SpatialViewer v0.4.0

[简体中文](RELEASE-NOTES-v0.4.0.md) | 日本語 | [English](RELEASE-NOTES-v0.4.0.en.md)

v0.4.0 では Rhino 3DM ビューアーを追加し、既存の CAD ビューアーと WinUI 3 シェルの挙動を維持します。

## Rhino 3DM
Expand Down
2 changes: 2 additions & 0 deletions docs/RELEASE-NOTES-v0.4.0.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# SpatialViewer v0.4.0

简体中文 | [日本語](RELEASE-NOTES-v0.4.0.ja.md) | [English](RELEASE-NOTES-v0.4.0.en.md)

v0.4.0 正式接入 Rhino 3DM 看图能力,并保持既有 CAD 看图与 WinUI 3 外壳行为不变。

## Rhino 3DM
Expand Down
Loading