Ready to create your first release? Follow these simple steps.
# 1. Make sure you're on master and up to date
git checkout master
git pull origin master
# 2. Create and push a tag
git tag v1.0.0
git push origin v1.0.0
# 3. That's it! The workflow will:
# - Generate documentation
# - Create release with attestations
# - Deploy to GitHub Pages- Go to Actions tab
- Click Build, Attest and Release workflow
- Click Run workflow button
- Enter version (e.g.,
v1.0.0) - Select if pre-release
- Click Run workflow
The workflow will automatically:
-
📊 Generate Reports (5-10 minutes)
- HTML validation
- Lighthouse audits
- Accessibility compliance
- Security summaries
-
📦 Build Package (2-3 minutes)
- Minify HTML/CSS/JS
- Create ZIP archive
- Generate SBOM
- Create attestations
-
🚀 Deploy (2-3 minutes)
- Create GitHub Release
- Attach all artifacts
- Deploy to GitHub Pages
- Update documentation
Total time: ~10-15 minutes
- GitHub Release: https://github.com/Hack23/homepage/releases
- GitHub Pages: https://hack23.github.io/homepage/
- Documentation: In the
docs/directory - S3/CloudFront: Deployed automatically by main.yml on master
# Verify build attestation
gh attestation verify homepage-v1.0.0.zip --owner Hack23
# View SBOM
gh release download v1.0.0 -R Hack23/homepage -p "*.spdx.json"
cat homepage-v1.0.0.spdx.json | jq .packages[].nameUse Semantic Versioning:
v1.0.0- First production releasev1.1.0- New feature (new page, service, blog post)v1.1.1- Bug fix (typo, broken link)v2.0.0- Major change (redesign, restructure)
Test before going live:
# Create a release candidate
git tag v1.0.0-rc.1
git push origin v1.0.0-rc.1
# Test it thoroughly, then create final release
git tag v1.0.0
git push origin v1.0.0- Full Documentation:
docs/WORKFLOW_DOCUMENTATION.md - Implementation Details:
RELEASE_WORKFLOW_IMPLEMENTATION.md - View Documentation: Open
docs/index.htmlin your browser - Issues: Open an issue on GitHub
That's it! You're ready to create releases with full supply chain security. 🎉