-
-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Overview
This issue tracks the implementation of Phase 1 publishing workflow upgrades across QuantEcon lecture repositories. The upgrade adds HTML archive backups to GitHub release assets.
Changes Implemented
The following steps have been added to the publish.yml workflow in each repository:
- Create HTML archive - Compresses
_build/html/into a.tar.gzarchive after the HTML build - Generate checksum - Creates SHA256 hash for integrity verification (
html-checksum.txt) - Create manifest - Generates metadata file with build information (
html-manifest.json) - Upload to release - Attaches all three files to the GitHub release using
softprops/action-gh-release@v1
Release Assets Created
Each publish-* tag will now include:
- 📦
{repo-name}-html-{tag}.tar.gz- Full HTML site archive (~200-300 MB) - 🔐
html-checksum.txt- SHA256 verification file - 📋
html-manifest.json- Build metadata (tag, commit, timestamp, size, file count)
Implementation Status
✅ Pull Requests Created
| Repository | PR | Status |
|---|---|---|
| lecture-python.myst | #662 | ✅ Merged (Reference) |
| lecture-python-programming.myst | #422 | ✅ Merged |
| lecture-python-advanced.myst | #289 | ✅ Merged |
| lecture-python-intro | #659 | ✅ Merged |
| lecture-jax | #239 | ✅ Merged |
| lecture-intro.zh-cn | #191 | 🔄 Open |
| lecture-python-programming.fa | #15 | 🔄 Open |
🔄 Pending Repositories
| Repository | Status | Notes |
|---|---|---|
| lecture-datascience.myst | ⏳ Pending | Not yet implemented |
| lecture-julia.myst | ⏳ Pending | Not yet implemented |
| lecture-python.zh-cn | ⏳ Pending | Not yet implemented |
Key Features
- ✅ Does not modify
_build/html/directory (gh-pages deployment unaffected) - ✅ Preserves existing release notes (no
bodyoverride) - ✅ Automatic tag detection from workflow context
- ✅ Creates safety net before Phase 2 (gh-pages history cleanup)
Testing Plan
After merging each PR, test with a publish-test-* tag to verify:
- Workflow completes successfully
- Three HTML assets are attached to release
- Archive can be downloaded and extracted
- Checksum verification works:
sha256sum -c html-checksum.txt
Related
- Original Issue: lecture-python.myst#661
- Reference PR: lecture-python.myst#662
- Phase 2: gh-pages history cleanup (to be implemented after Phase 1 is tested and verified)
Next Steps
- Review and merge open PRs
- Test with
publish-test-*tags - Monitor first production releases
- Implement Phase 1 for remaining repositories
- Plan Phase 2 implementation (gh-pages orphan branch conversion)
Metadata
Metadata
Assignees
Labels
No labels