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
14 changes: 12 additions & 2 deletions .github/workflows/macos-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ on:
description: Successful Windows CI run ID for the SimpleGraphic commit
required: true
type: string
simplegraphic_windows_repository:
description: Repository that ran the SimpleGraphic Windows workflow
required: true
default: PathOfBuildingCommunity/PathOfBuilding-SimpleGraphic
type: string

permissions:
contents: read
Expand Down Expand Up @@ -79,6 +84,7 @@ jobs:
SIMPLEGRAPHIC_COMMIT: ${{ inputs.simplegraphic_commit }}
SIMPLEGRAPHIC_SHA256: ${{ inputs.simplegraphic_sha256 }}
SIMPLEGRAPHIC_WINDOWS_RUN_ID: ${{ inputs.simplegraphic_windows_run_id }}
SIMPLEGRAPHIC_WINDOWS_REPOSITORY: ${{ inputs.simplegraphic_windows_repository }}
steps:
- name: Checkout candidate
uses: actions/checkout@v4
Expand Down Expand Up @@ -109,6 +115,10 @@ jobs:
printf 'simplegraphic_windows_run_id must be a positive integer\n' >&2
exit 2
fi
if ! printf '%s\n' "$SIMPLEGRAPHIC_WINDOWS_REPOSITORY" | grep -Eq '^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$'; then
printf 'simplegraphic_windows_repository must use owner/repository\n' >&2
exit 2
fi

rc_version="$RELEASE_VERSION-rc.$RC_NUMBER"
tag_name="macos-v$rc_version"
Expand Down Expand Up @@ -138,7 +148,7 @@ jobs:
printf 'SimpleGraphic tag resolves to %s, expected %s\n' "$runtime_tag_commit" "$SIMPLEGRAPHIC_COMMIT" >&2
exit 1
fi
windows_run=$(gh api "repos/$runtime_repo/actions/runs/$SIMPLEGRAPHIC_WINDOWS_RUN_ID")
windows_run=$(gh api "repos/$SIMPLEGRAPHIC_WINDOWS_REPOSITORY/actions/runs/$SIMPLEGRAPHIC_WINDOWS_RUN_ID")
windows_run_commit=$(printf '%s' "$windows_run" | jq -r '.head_sha')
windows_run_result=$(printf '%s' "$windows_run" | jq -r '.status + "/" + (.conclusion // "")')
windows_run_path=$(printf '%s' "$windows_run" | jq -r '.path')
Expand Down Expand Up @@ -184,7 +194,7 @@ jobs:
archive="PathOfBuilding-macOS-arm64-v$RC_VERSION.zip"
checksum=$(cut -d ' ' -f 1 "build-macos/release/$archive.sha256")
runner_version=$(sw_vers -productVersion)
windows_run_url="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY_OWNER/PathOfBuilding-SimpleGraphic/actions/runs/$SIMPLEGRAPHIC_WINDOWS_RUN_ID"
windows_run_url="$GITHUB_SERVER_URL/$SIMPLEGRAPHIC_WINDOWS_REPOSITORY/actions/runs/$SIMPLEGRAPHIC_WINDOWS_RUN_ID"
{
printf '%s\n' '# Experimental macOS release candidate'
printf '\n%s\n' '**Unsigned, experimental, and published from the `rodgons/PathOfBuilding` fork. This is not an official upstream Path of Building release.**'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ inspect.lua

# Development files
*.lnk
.DS_Store

# Application files
Builds/
Expand Down
10 changes: 6 additions & 4 deletions macos/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,15 @@ gh workflow run macos-release.yml \
-f simplegraphic_tag=issue-9-smoke-20260730 \
-f simplegraphic_commit=98e98efcc747fea5ee96dd933de51685887db417 \
-f simplegraphic_sha256=4eb99b5d371243ea11ab02de891d6e9624f809d64e8dfc6a3cd760fc9b6a06c2 \
-f simplegraphic_windows_run_id=WINDOWS_RUN_ID
-f simplegraphic_windows_run_id=WINDOWS_RUN_ID \
-f simplegraphic_windows_repository=PathOfBuildingCommunity/PathOfBuilding-SimpleGraphic
```

The Windows run ID must identify a successful SimpleGraphic `Build DLL` workflow
run for the exact runtime commit. The workflow verifies that run, the lightweight
runtime tag and digest, the source manifest version, the runtime acceptance
smoke, the Lua suite, and ModCache before packaging. It then
run for the exact runtime commit. The Windows workflow may run in a different
repository from the fork-published runtime artifact. The workflow verifies that
run, the lightweight runtime tag and digest, the source manifest version, the
runtime acceptance smoke, the Lua suite, and ModCache before packaging. It then
publishes `macos-v2.66.2-rc.1` as an experimental prerelease with the zipped
app, SHA-256 file, automated validation logs, source/runtime provenance,
Gatekeeper instructions, and known limitations. The same evidence is retained
Expand Down
Loading