Quick Release Guide
Create a Release (CI-Only)
All releases are handled by GitHub Actions:
- Update version in
package.json
- Commit and push to
main
- Create GitHub release with new tag (e.g.,
v1.0.0
) - CI automatically:
- Runs tests
- Builds production bundle
- Creates release artifacts
- Publishes to npm and GitHub Packages
Pre-release
For pre-releases, use version suffixes:
v1.0.0-alpha.1
- Alpha releasev1.0.0-beta.1
- Beta releasev1.0.0-rc.1
- Release candidate
Mark as "pre-release" when creating the GitHub release.
What Gets Released
- ✅ Tests pass
- ✅ Build succeeds (3.9MB)
- ✅ Tarball:
skynet-vX.Y.Z.tar.gz
- ✅ Bundle:
dist/index.js
- ✅ Published to npm
- ✅ Published to GitHub Packages
- ✅ Auto-generated release notes
- ✅ Pre-release flag (if alpha/beta/rc)
Install from Release
bash
# Full package
wget https://github.com/patgpt/skynet/releases/latest/download/skynet-v1.0.0.tar.gz
tar -xzf skynet-v1.0.0.tar.gz
cd skynet-v1.0.0
bun install --production
docker-compose up -d
bun run dist/index.js
# Standalone
wget https://github.com/patgpt/skynet/releases/latest/download/index.js
bun add chromadb neo4j-driver dockerode cohere-ai @google/generative-ai openai
bun run index.js
Workflows
Workflow | Trigger | Purpose |
---|---|---|
ci.yml | Push/PR | Run tests, type check, build |
release.yml | Git tag v* | Create GitHub release |
docs.yml | Push to main | Deploy documentation |
Version Format
v1.0.0
- Stable releasev1.0.0-alpha.1
- Alpha (early testing)v1.0.0-beta.1
- Beta (feature complete)v1.0.0-rc.1
- Release candidate
Rollback
bash
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
# Manually delete GitHub release
Documentation
- Full guide: RELEASE.md
- Changelog: CHANGELOG.md
- Contributing: See README.md