90 lines
2.3 KiB
Markdown
90 lines
2.3 KiB
Markdown
# Bundle Distribution Setup (For Maintainers)
|
|
|
|
**Audience:** BMAD maintainers setting up bundle auto-publishing
|
|
|
|
---
|
|
|
|
## One-Time Setup
|
|
|
|
Run these commands once to enable auto-publishing:
|
|
|
|
```bash
|
|
# 1. Create bmad-bundles repo
|
|
gh repo create bmad-code-org/bmad-bundles --public --description "BMAD Web Bundles"
|
|
|
|
# 2. Ensure `main` exists (GitHub Pages API requires a source branch)
|
|
git clone git@github.com:bmad-code-org/bmad-bundles.git
|
|
cd bmad-bundles
|
|
printf '# bmad-bundles\n\nStatic bundles published from BMAD-METHOD.\n' > README.md
|
|
git add README.md
|
|
git commit -m "Initial commit"
|
|
git push origin main
|
|
cd -
|
|
|
|
# 3. Enable GitHub Pages (API replacement for removed --enable-pages flag)
|
|
gh api repos/bmad-code-org/bmad-bundles/pages --method POST -f source[branch]=main -f source[path]=/
|
|
# (Optional) confirm status
|
|
gh api repos/bmad-code-org/bmad-bundles/pages --jq '{status,source}'
|
|
|
|
# 4. Create deploy key
|
|
ssh-keygen -t ed25519 -C "github-actions" -f deploy-key -N ""
|
|
gh repo deploy-key add deploy-key.pub --repo bmad-code-org/bmad-bundles --title "CI" --allow-write
|
|
gh secret set BUNDLES_DEPLOY_KEY --repo bmad-code-org/BMAD-METHOD < deploy-key
|
|
rm deploy-key*
|
|
```
|
|
|
|
If the Pages POST returns `409`, the site already exists. If it returns `422` about `main` missing, redo step 2 to push the initial commit.
|
|
|
|
**Done.** Bundles auto-publish on every main merge.
|
|
|
|
---
|
|
|
|
## How It Works
|
|
|
|
**On main merge:**
|
|
|
|
- `.github/workflows/bundle-latest.yml` runs
|
|
- Publishes to: `https://bmad-code-org.github.io/bmad-bundles/`
|
|
|
|
**On release:**
|
|
|
|
- `npm run release:patch` runs `.github/workflows/manual-release.yaml`
|
|
- Attaches bundles to: `https://github.com/bmad-code-org/BMAD-METHOD/releases/latest`
|
|
|
|
---
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
# Test latest channel
|
|
git push origin main
|
|
# Wait 2 min, then: curl https://bmad-code-org.github.io/bmad-bundles/
|
|
|
|
# Test stable channel
|
|
npm run release:patch
|
|
# Check: gh release view
|
|
```
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
**"Permission denied (publickey)"**
|
|
|
|
```bash
|
|
gh secret list --repo bmad-code-org/BMAD-METHOD | grep BUNDLES
|
|
```
|
|
|
|
**GitHub Pages not updating / need to re-check config**
|
|
|
|
```bash
|
|
gh api repos/bmad-code-org/bmad-bundles/pages --jq '{status,source,html_url}'
|
|
```
|
|
|
|
---
|
|
|
|
## Distribution URLs
|
|
|
|
**Stable:** `https://github.com/bmad-code-org/BMAD-METHOD/releases/latest`
|
|
**Latest:** `https://bmad-code-org.github.io/bmad-bundles/`
|