mirror of
https://github.com/Xe138/AI-Trader.git
synced 2026-04-01 17:17:24 -04:00
Update maintainer documentation files: - docs/DOCKER.md: Update git clone URL, Docker image references (ghcr.io/hkuds/ai-trader to ghcr.io/xe138/ai-trader-server), container/service names, and backup filenames - docs/RELEASING.md: Update GitHub Actions URLs, Docker registry paths, container package URLs, and all release examples All maintainer docs now reference the correct repository and Docker image paths. Part of Phase 3: Developer & Deployment Documentation
3.3 KiB
3.3 KiB
Release Process
Creating a New Release
1. Prepare Release
- Ensure
mainbranch is stable and tests pass - Update version numbers if needed
- Update CHANGELOG.md with release notes
2. Create Release Tag
# Ensure on main branch
git checkout main
git pull origin main
# Create annotated tag
git tag -a v1.0.0 -m "Release v1.0.0: Docker deployment support"
# Push tag to trigger CI/CD
git push origin v1.0.0
3. GitHub Actions Automation
Tag push automatically triggers .github/workflows/docker-release.yml:
- ✅ Checks out code
- ✅ Sets up Docker Buildx
- ✅ Logs into GitHub Container Registry
- ✅ Extracts version from tag
- ✅ Builds Docker image with caching
- ✅ Pushes to
ghcr.io/xe138/ai-trader-server:VERSION - ✅ Pushes to
ghcr.io/xe138/ai-trader-server:latest
4. Verify Build
- Check GitHub Actions: https://github.com/Xe138/AI-Trader-Server/actions
- Verify workflow completed successfully (green checkmark)
- Check packages: https://github.com/Xe138/AI-Trader-Server/pkgs/container/ai-trader-server
5. Test Release
# Pull released image
docker pull ghcr.io/xe138/ai-trader-server:v1.0.0
# Test run
docker run --env-file .env \
-v $(pwd)/data:/app/data \
ghcr.io/xe138/ai-trader-server:v1.0.0
6. Create GitHub Release (Optional)
- Go to https://github.com/Xe138/AI-Trader-Server/releases/new
- Select tag:
v1.0.0 - Release title:
v1.0.0 - Docker Deployment Support - Add release notes:
## 🐳 Docker Deployment
This release adds full Docker support for easy deployment.
### Pull and Run
```bash
docker pull ghcr.io/xe138/ai-trader-server:v1.0.0
docker run --env-file .env -v $(pwd)/data:/app/data ghcr.io/xe138/ai-trader-server:v1.0.0
Or use Docker Compose:
docker-compose up
See docs/DOCKER.md for details.
What's New
- Docker containerization with single-container architecture
- docker-compose.yml for easy orchestration
- Automated CI/CD builds on release tags
- Pre-built images on GitHub Container Registry
5. Publish release
## Version Numbering
Use Semantic Versioning (SEMVER):
- `v1.0.0` - Major release (breaking changes)
- `v1.1.0` - Minor release (new features, backward compatible)
- `v1.1.1` - Patch release (bug fixes)
## Troubleshooting Releases
### Build Fails in GitHub Actions
1. Check Actions logs for error details
2. Test local build: `docker build .`
3. Fix issues and delete/recreate tag:
```bash
# Delete tag
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
# Recreate after fixes
git tag v1.0.0
git push origin v1.0.0
Image Not Appearing in Registry
- Check Actions permissions (Settings → Actions → General)
- Verify
packages: writepermission in workflow - Ensure
GITHUB_TOKENhas registry access
Wrong Version Tagged
Delete and recreate:
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
git tag v1.0.1
git push origin v1.0.1
Manual Build and Push
If automated build fails, manual push:
# Build locally
docker build -t ghcr.io/xe138/ai-trader-server:v1.0.0 .
# Login to GHCR
echo $GITHUB_TOKEN | docker login ghcr.io -u USERNAME --password-stdin
# Push
docker push ghcr.io/xe138/ai-trader-server:v1.0.0
docker tag ghcr.io/xe138/ai-trader-server:v1.0.0 ghcr.io/xe138/ai-trader-server:latest
docker push ghcr.io/xe138/ai-trader-server:latest