This publishing workflow delivers a Docker app store to static hosting so ZimaOS home servers and homelabs can consume it.
This page documents .github/workflows/release-store.yml, the publish workflow used for tagged releases.
Purpose
It takes release-ready build output and publishes it to the public delivery targets.
Triggers
- push tags matching
v* - manual
workflow_dispatch
Manual runs can set purge_only to refresh the files changed by the latestgh-pages deployment without rebuilding or deploying the store again.
Main stages
- Check out repository source.
- Restore build caches.
- Build protocol v2
dist/. - Build legacy v1 zip output.
- Create release bundles.
- Upload release artifacts and reports.
- Save build caches.
- Write a release summary.
- Deploy
dist/togh-pages. - Collect files changed by the deployment and refresh their jsDelivr cache entries.
- Create a GitHub Release with attached bundles.
The cache refresh runs after the gh-pages deployment. It compares the
previous and current gh-pages revisions, always includes the store entry
points, and submits paths to jsDelivr in batches. The refresh script polls the
purge result, retries transient HTTP failures, and fails visibly when jsDelivr
reports throttling or an unsuccessful purge. A follow-up content check compares
the source and CDN response hashes so an accepted purge request cannot be
mistaken for a refreshed cache.
Publish outputs
The workflow currently publishes or attaches:
gh-pagesstaticdist/output for the v2 protocolmain.zipfor legacy v1 compatibility- zipped release bundles for download
- JSON build reports for troubleshooting
Why it matters
This workflow is the closest reference if you want a third-party store repository to match the official publish path.
It shows how the official repository separates:
- build-time artifacts
- publish-time deployment
- release attachments for manual download
Related build workflow
The non-publishing build workflow is documented in Release Workflow.
If you are designing an external repository, see Official Actions Reuse for the recommended reuse path.