|
| 1 | +# Manual Steps Required Before First Release |
| 2 | + |
| 3 | +## 1. Add NPM_TOKEN Secret to GitHub |
| 4 | + |
| 5 | +### Option A: Via GitHub Web UI |
| 6 | +1. Go to https://github.com/effect-native/ansilust/settings/secrets/actions |
| 7 | +2. Click "New repository secret" |
| 8 | +3. Name: `NPM_TOKEN` |
| 9 | +4. Value: Your npm access token (get from https://www.npmjs.com/settings/~/tokens) |
| 10 | +5. Click "Add secret" |
| 11 | + |
| 12 | +### Option B: Via gh CLI |
| 13 | +```bash |
| 14 | +# First, get an npm token from https://www.npmjs.com/settings/~/tokens |
| 15 | +# Choose "Automation" token type for CI/CD |
| 16 | +gh secret set NPM_TOKEN -R effect-native/ansilust |
| 17 | +# Paste your token when prompted |
| 18 | +``` |
| 19 | + |
| 20 | +## 2. (Optional) Add AUR_SSH_KEY Secret |
| 21 | + |
| 22 | +This is only needed if you want automatic AUR package updates. |
| 23 | +Can be deferred until after v1.0.0. |
| 24 | + |
| 25 | +```bash |
| 26 | +# Generate SSH key for AUR |
| 27 | +ssh-keygen -t ed25519 -C "ansilust@github-actions" -f ~/.ssh/aur_ansilust |
| 28 | +# Add public key to AUR account settings |
| 29 | +# Then add private key as secret: |
| 30 | +gh secret set AUR_SSH_KEY -R effect-native/ansilust < ~/.ssh/aur_ansilust |
| 31 | +``` |
| 32 | + |
| 33 | +## 3. Push Feature Branch and Test Workflow |
| 34 | + |
| 35 | +```bash |
| 36 | +cd /home/tom/Work/ansilust |
| 37 | +git push -u origin feat/publish-v1 |
| 38 | +``` |
| 39 | + |
| 40 | +Then check GitHub Actions to see if the workflow syntax is valid. |
| 41 | + |
| 42 | +## 4. Create Test Release (Optional Dry Run) |
| 43 | + |
| 44 | +```bash |
| 45 | +git tag v0.0.2-test.1 |
| 46 | +git push origin v0.0.2-test.1 |
| 47 | +# Watch GitHub Actions |
| 48 | +# Delete tag after testing: |
| 49 | +git push origin :refs/tags/v0.0.2-test.1 |
| 50 | +git tag -d v0.0.2-test.1 |
| 51 | +``` |
| 52 | + |
| 53 | +## 5. Create Real v1.0.0 Release |
| 54 | + |
| 55 | +```bash |
| 56 | +# Create changeset |
| 57 | +npx changeset add |
| 58 | +# Select major, describe: "Initial public release" |
| 59 | + |
| 60 | +# Commit and push |
| 61 | +git add .changeset/*.md |
| 62 | +git commit -m "chore: add changeset for v1.0.0" |
| 63 | +git push |
| 64 | + |
| 65 | +# Wait for Changesets bot to create version PR |
| 66 | +# Merge the version PR |
| 67 | +# Release workflow will run automatically |
| 68 | +``` |
| 69 | + |
| 70 | +## Verification After Release |
| 71 | + |
| 72 | +```bash |
| 73 | +# Test npm |
| 74 | + |
| 75 | + |
| 76 | +# Test GitHub release |
| 77 | +curl -fsSL https://github.com/effect-native/ansilust/releases/latest/download/SHA256SUMS |
| 78 | + |
| 79 | +# Test install script (once website is deployed) |
| 80 | +curl -fsSL https://ansilust.com/install | bash |
| 81 | +``` |
0 commit comments