Skip to content

Conversation

@mmcky
Copy link
Contributor

@mmcky mmcky commented Oct 30, 2025

Summary

Implements Phase 1 from the publishing workflow upgrade: 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-intro-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: HTML archive backup on releases.

## Changes

This commit 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-intro-html-{tag}.tar.gz - Full HTML site archive
• 🔐 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)
@netlify
Copy link

netlify bot commented Oct 30, 2025

Deploy Preview for taupe-gaufre-c4e660 ready!

Name Link
🔨 Latest commit 1231103
🔍 Latest deploy log https://app.netlify.com/projects/taupe-gaufre-c4e660/deploys/6902d12c6bcb84000827a106
😎 Deploy Preview https://deploy-preview-659--taupe-gaufre-c4e660.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@github-actions
Copy link

github-actions bot commented Oct 30, 2025

@github-actions github-actions bot temporarily deployed to pull request October 30, 2025 02:53 Inactive
@mmcky mmcky merged commit 535a384 into main Oct 30, 2025
7 checks passed
@mmcky mmcky deleted the phase1-html-archive-releases branch October 30, 2025 03:29
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