Skip to content

Conversation

@mmcky
Copy link
Contributor

@mmcky mmcky commented Oct 29, 2025

Summary

Implements Phase 1 from issue #661: HTML archive backup on releases.

Changes

This PR adds steps to the publish.yml workflow to create and upload HTML archives as GitHub release assets:

  1. Create HTML archive - Compresses _build/html/ into a .tar.gz archive after the HTML build
  2. Generate checksum - Creates SHA256 hash for integrity verification (html-checksum.txt)
  3. Create manifest - Generates metadata file with build information (html-manifest.json)
  4. 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:

  • 📦 lecture-python-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)

Key Features

  • ✅ Does not modify _build/html/ directory (gh-pages deployment unaffected)
  • ✅ Preserves existing release notes (no body override)
  • ✅ Automatic tag detection from workflow context
  • ✅ Creates safety net before Phase 2 (gh-pages history cleanup)

Testing Plan

After merge, test with a publish-test-* tag to verify:

  1. Workflow completes successfully
  2. Three HTML assets are attached to release
  3. Archive can be downloaded and extracted
  4. Checksum verification works: sha256sum -c html-checksum.txt

Related

Implements Phase 1 from issue #661: HTML archive backup on releases.

Changes:
- Add step to create compressed HTML archive after build
- Generate SHA256 checksum for integrity verification
- Create metadata manifest with build information
- Upload archive, checksum, and manifest to GitHub releases

Release assets created on each publish-* tag:
- lecture-python-html-{tag}.tar.gz - Full HTML site archive
- html-checksum.txt - SHA256 verification file
- html-manifest.json - Build metadata (tag, commit, size, file count)

This establishes backup infrastructure before gh-pages history cleanup
and provides historical restore points for all future deployments.
@github-actions
Copy link

📖 Netlify Preview Ready!

Preview URL: https://pr-662--sunny-cactus-210e3e.netlify.app (97909d8)

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