This document describes the CI/CD architecture for the Apache Teaclave website.
.github/workflows/ βββ _reusable-build.yml # [Reusable] Shared build logic for Docker + website βββ pr-validation.yml # PR validation workflow (read-only) βββ deploy-staging.yml # Deploys build to asf-staging branch βββ promote-staging-to-production.yml # [Manual] Replaces asf-site with asf-staging βββ README.md # This file
pr-*.yml - PR validation workflows (read-only permissions)deploy-*.yml - Deployment workflows (write permissions)promote-*.yml - Manual promotion workflows (e.g. staging β production)_reusable-*.yml - Reusable workflows (called by others, underscore prefix)master) β Deploy Staging runs β build is deployed to the asf-staging branch. Staging site is updated.| Step | What happens |
|---|---|
| Merge / push to master | deploy-staging.yml β asf-staging updated |
| Manual check | You verify the staging site |
| Manual trigger | promote-staging-to-production.yml β asf-site = asf-staging |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β GitHub Repository Events β β β β Pull Request Push to master Manual Trigger β β β β β β β βΌ βΌ βΌ β β βββββββββββββββ ββββββββββββββββ ββββββββββββββββββββββββ β β βpr-validationβ βdeploy- β βpromote-staging-to- β β β β.yml β βstaging.yml β βproduction.yml β β β ββββββ¬βββββββββ ββββββββ¬ββββββββ β (manual only) β β β β β ββββββββββββ¬ββββββββββββββ β β β β β β β βΌ βΌ β β β ββββββββββββββββββββββββββββββββββββββββββ β β β β _reusable-build.yml (Shared Logic) β β β β β build-docker-image β build-website β β β β ββββββββββββββββββββββ¬ββββββββββββββββββββ β β β β β β β ββββββββββββββββββ΄βββββββββββββββββ β β β βΌ βΌ βΌ β β βββββββββββ ββββββββββββββββ ββββββββββββββββ β β β validateβ βdeploy-stagingβ β promote β β β βββββββββββ ββββββββ¬ββββββββ β (asf-stagingβ β β β β β β asf-site)β β β β βΌ ββββββββ¬ββββββββ β β β asf-staging β β β β (staging site) βΌ β β β β asf-site β β β β (live site) β β β β β β βΌ ββββΊ Verify staging, then run β β Result: β PR Check "Promote Staging to Production" β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ