11name : ' π Publish All (Live)'
22
3- # Orchestrator workflow that deploys all subsites sequentially
4- # Prevents gh-pages conflicts by running one deployment at a time
3+ # Orchestrator workflow that deploys ALL subsites sequentially
4+ # Book β Kits β TinyTorch β Labs
55
66on :
77 workflow_dispatch :
88 inputs :
9+ book_version :
10+ description : ' Book version (e.g., v0.6.0)'
11+ required : true
12+ default : ' v0.6.0'
13+ book_description :
14+ description : ' Book release description'
15+ required : true
16+ default : ' Content updates and improvements'
17+ release_type :
18+ description : ' Release type'
19+ type : choice
20+ options :
21+ - minor
22+ - patch
23+ - major
24+ default : ' minor'
925 deploy_book :
1026 description : ' Deploy Book?'
1127 type : boolean
@@ -32,11 +48,45 @@ concurrency:
3248
3349jobs :
3450 # ==========================================================================
35- # Step 1: Deploy Kits
51+ # Step 1: Deploy Book (triggers the full book-publish-live workflow)
52+ # ==========================================================================
53+ deploy-book :
54+ name : ' π Deploy Book'
55+ if : ${{ inputs.deploy_book }}
56+ runs-on : ubuntu-latest
57+ steps :
58+ - name : Trigger Book Publish Workflow
59+ run : |
60+ echo "π Triggering book-publish-live workflow..."
61+ gh workflow run "book-publish-live.yml" \
62+ --repo ${{ github.repository }} \
63+ --ref main \
64+ -f release_type=${{ inputs.release_type }} \
65+ -f description="${{ inputs.book_description }}" \
66+ -f confirm=PUBLISH \
67+ -f ai_generated_notes=yes \
68+ -f testing_mode=no
69+
70+ echo "β³ Waiting for workflow to start..."
71+ sleep 10
72+
73+ # Get the run ID of the triggered workflow
74+ RUN_ID=$(gh run list --workflow=book-publish-live.yml --repo ${{ github.repository }} --limit 1 --json databaseId --jq '.[0].databaseId')
75+ echo "π Workflow run ID: $RUN_ID"
76+ echo "run_id=$RUN_ID" >> $GITHUB_OUTPUT
77+
78+ echo "β³ Waiting for book workflow to complete (this may take 20-30 minutes)..."
79+ gh run watch $RUN_ID --repo ${{ github.repository }} --exit-status
80+
81+ echo "β
Book deployment complete!"
82+
83+ # ==========================================================================
84+ # Step 2: Deploy Kits (after book)
3685 # ==========================================================================
3786 deploy-kits :
3887 name : ' π¦ Deploy Kits'
39- if : ${{ inputs.deploy_kits }}
88+ needs : [deploy-book]
89+ if : ${{ always() && inputs.deploy_kits && (needs.deploy-book.result == 'success' || needs.deploy-book.result == 'skipped') }}
4090 runs-on : ubuntu-latest
4191 steps :
4292 - name : Checkout
61111 commit_message : ' π¦ Deploy Kits - ${{ github.sha }}'
62112
63113 # ==========================================================================
64- # Step 2 : Deploy TinyTorch (after kits)
114+ # Step 3 : Deploy TinyTorch (after kits)
65115 # ==========================================================================
66116 deploy-tinytorch :
67117 name : ' π₯ Deploy TinyTorch'
91141 commit_message : ' π₯ Deploy TinyTorch - ${{ github.sha }}'
92142
93143 # ==========================================================================
94- # Step 3 : Deploy Labs (after tinytorch)
144+ # Step 4 : Deploy Labs (after tinytorch)
95145 # ==========================================================================
96146 deploy-labs :
97147 name : ' π¬ Deploy Labs'
@@ -125,25 +175,26 @@ jobs:
125175 # ==========================================================================
126176 summary :
127177 name : ' π Deployment Summary'
128- needs : [deploy-kits, deploy-tinytorch, deploy-labs]
178+ needs : [deploy-book, deploy- kits, deploy-tinytorch, deploy-labs]
129179 if : always()
130180 runs-on : ubuntu-latest
131181 steps :
132182 - name : Generate Summary
133183 run : |
134184 echo "## π Publish All Complete" >> $GITHUB_STEP_SUMMARY
135185 echo "" >> $GITHUB_STEP_SUMMARY
186+ echo "**Version**: ${{ inputs.book_version }}" >> $GITHUB_STEP_SUMMARY
187+ echo "**Description**: ${{ inputs.book_description }}" >> $GITHUB_STEP_SUMMARY
188+ echo "" >> $GITHUB_STEP_SUMMARY
136189 echo "| Site | Status |" >> $GITHUB_STEP_SUMMARY
137190 echo "|------|--------|" >> $GITHUB_STEP_SUMMARY
191+ echo "| π Book | ${{ needs.deploy-book.result }} |" >> $GITHUB_STEP_SUMMARY
138192 echo "| π¦ Kits | ${{ needs.deploy-kits.result }} |" >> $GITHUB_STEP_SUMMARY
139193 echo "| π₯ TinyTorch | ${{ needs.deploy-tinytorch.result }} |" >> $GITHUB_STEP_SUMMARY
140194 echo "| π¬ Labs | ${{ needs.deploy-labs.result }} |" >> $GITHUB_STEP_SUMMARY
141195 echo "" >> $GITHUB_STEP_SUMMARY
142196 echo "### π Live URLs" >> $GITHUB_STEP_SUMMARY
197+ echo "- π [Book](https://mlsysbook.ai/book/)" >> $GITHUB_STEP_SUMMARY
143198 echo "- π¦ [Kits](https://mlsysbook.ai/kits/)" >> $GITHUB_STEP_SUMMARY
144199 echo "- π₯ [TinyTorch](https://mlsysbook.ai/tinytorch/)" >> $GITHUB_STEP_SUMMARY
145200 echo "- π¬ [Labs](https://mlsysbook.ai/labs/)" >> $GITHUB_STEP_SUMMARY
146- echo "" >> $GITHUB_STEP_SUMMARY
147- echo "### π Book Deployment" >> $GITHUB_STEP_SUMMARY
148- echo "Book uses a separate workflow with version management." >> $GITHUB_STEP_SUMMARY
149- echo "Run **π Book Publish (Live)** separately for book updates." >> $GITHUB_STEP_SUMMARY
0 commit comments