testing releases quickstart
TL;DR - Safe Testing
Section titled “TL;DR - Safe Testing”# Run this to test without any git changes:./scripts/test-release.sh arena v0.0.1-testThree Safe Ways to Test
Section titled “Three Safe Ways to Test”1. 🧪 Local Dry Run (Start Here)
Section titled “1. 🧪 Local Dry Run (Start Here)”Zero risk - just shows what would happen
./scripts/test-release.sh arena v0.0.1-testOutputs:
- Current go.mod
- Modified go.mod (without replace directives)
- Build test results
- Step-by-step release commands
Does NOT:
- Create any tags
- Modify any files
- Push anything to GitHub
2. 🔬 Test Repository (Full Testing)
Section titled “2. 🔬 Test Repository (Full Testing)”Best for testing go install - completely isolated
# One-time setupgh repo create AltairaLabs/promptkit-release-test --private --clonecd promptkit-release-testcp -r ../PromptKit/* .git add .git commit -m "Initial test setup"git push origin main
# Now test freely!git tag runtime/v0.0.1-testgit tag pkg/v0.0.1-testgit push origin runtime/v0.0.1-test pkg/v0.0.1-test
# ... continue with tool release ...
# When done, delete everythingcd ..gh repo delete AltairaLabs/promptkit-release-test --yes3. 🌿 Test Branch (CI/CD Testing)
Section titled “3. 🌿 Test Branch (CI/CD Testing)”Tests GitHub Actions without creating tags
# Create test branchgit checkout -b release-test/arena-v0.0.1git push origin release-test/arena-v0.0.1
# Watch the workflow run in GitHub Actions
# Clean upgit push origin --delete release-test/arena-v0.0.1git checkout maingit branch -d release-test/arena-v0.0.1What NOT to Do
Section titled “What NOT to Do”❌ Don’t use regular tags for testing
Section titled “❌ Don’t use regular tags for testing”# BAD - gets cached by Go proxy in 5-10 minutes!git tag runtime/v0.0.1git push origin runtime/v0.0.1# ^ This will be stuck for 24 hours if you change your mind✅ Do use -test suffix if you must tag
Section titled “✅ Do use -test suffix if you must tag”# BETTER - clearly marked as testgit tag runtime/v0.0.1-testgit push origin runtime/v0.0.1-test
# Delete within 5 minutes if neededgit push origin --delete runtime/v0.0.1-test✅ Best: Use separate test repo
Section titled “✅ Best: Use separate test repo”# BEST - completely isolated, delete anytimegh repo create PromptKit-release-test --privateReady for Real Release?
Section titled “Ready for Real Release?”Once testing looks good:
- See release-process.md for the complete step-by-step production release guide
- Use semantic versions:
v1.0.0,v1.0.1, etc. - Never use
test/prefix for production releases
Need Help?
Section titled “Need Help?”- Full testing guide:
docs/devops/testing-releases.md - Release process:
docs/devops/release-process.md(to be created) - Run test script:
./scripts/test-release.sh