Skip to content

Automatically refresh the public download catalog after releases - #152

Merged
tmoonlight merged 1 commit into
masterfrom
codex/auto-refresh-public-downloads
Oct 20, 2026
Merged

tmoonlight merged 1 commit into
masterfrom
codex/auto-refresh-public-downloads

Conversation

@tmoonlight

@tmoonlight tmoonlight commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

After a tagged GitHub Release publishes its installation assets, package.yml now calls a reusable workflow to refresh tmoonlight/acecode-site and verify the public CDN catalog. The website push uses a deploy key scoped to that repository and automatically starts Pages deployment.

The synchronization checks the published tag, required packages and SHA-256 values, serializes retries, and avoids empty commits. Existing packaging, model APIs and aupdate mirroring are unchanged.

Validation: website generator tests (5 passed), download catalog checks (104 releases / 1,165 assets), workflow syntax/dependency/permission checks, and strict OpenSpec validation. The existing v1.0.13 release completed the synchronization and Pages deployment; a second run succeeded without another commit.

The repository-wide R15 delayed-injection check still reports the pre-existing linux_desktop.cpp/.hpp findings, also present on base master 01d7421. This change does not modify those files.

OpenSpec: auto-refresh-public-downloads.

Copilot AI balanced review requested due to automatic review settings October 20, 2026 15:44
@tmoonlight
tmoonlight merged commit 64a2b3a into master Oct 20, 2026
5 of 6 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Independent catalog regeneration during Pages builds can invalidate the expected hash and cause verification timeouts.

1 open issue
What changed in this PR

Automates public download catalog updates after successful releases, replacing the manual website refresh.

Changes:

  • Adds post-release synchronization with repository-scoped credentials.
  • Validates releases, retries conflicting pushes, and verifies the CDN catalog.
  • Documents deployment, recovery, and planned live validation.
File Description
openspec/​changes/​auto-refresh-public-downloads/​tasks.md Tracks implementation and pending validation.
openspec/​changes/​auto-refresh-public-downloads/​specs/​public-release-catalog/​spec.md Defines synchronization requirements.
openspec/​changes/​auto-refresh-public-downloads/​proposal.md Describes purpose and scope.
openspec/​changes/​auto-refresh-public-downloads/​design.md Records deployment design and risks.
openspec/​changes/​auto-refresh-public-downloads/​.openspec.yaml Declares change metadata.
docs/​public-download-publishing.md Documents operation and recovery.
.github/​workflows/​refresh-public-downloads.yml Implements synchronization and CDN verification.
.github/​workflows/​package.yml Invokes synchronization after release publication.

Review effort: Balanced

exit 1

- name: Verify public CDN catalog
run: python scripts/wait_for_catalog.py public/aceupdate.json --timeout 900
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants