This guide explains how to deploy the Spry DALEC project to GitHub and create your first release.
- Git installed
- GitHub account
- Docker with BuildKit (for local testing)
- Repository created on GitHub
# Initialize git (if not already done)
git init
# Add all files
git add .
# Create initial commit
git commit -m "Initial commit: Spry SQLPage DALEC packaging"- Go to https://github.com/new
- Create a new repository named
packages(or your preferred name) - Do NOT initialize with README, .gitignore, or license (we already have these)
# Add remote
git remote add origin https://github.com/programmablemd/packages.git
# Push to main branch
git branch -M main
git push -u origin mainBefore creating a release, update the following files with your actual GitHub username:
-
README.md
- Replace
YOUR_USERNAMEwith your GitHub username - Update download URLs
- Replace
-
QUICKSTART.md
- Replace
YOUR_USERNAMEwith your GitHub username - Update download URLs
- Replace
-
CONTRIBUTING.md
- Replace
YOUR_USERNAMEwith your GitHub username - Update repository URLs
- Replace
# Quick find and replace (Linux/macOS)
find . -type f -name "*.md" -exec sed -i 's/YOUR_USERNAME/programmablemd/g' {} +
# Or manually edit each file# Test local compilation
make compile-local
# Test the binary
./spry --help
# If you have Docker with BuildKit, test a build
make build-jammy# Make sure the script is executable
chmod +x scripts/release.sh
# Create release v0.1.0
./scripts/release.sh 0.1.0
# Push changes and tag
git push origin main
git push origin v0.1.0# Update version in dalec-spry.yaml if needed
# Then commit and tag
git add .
git commit -m "Release v0.1.0"
git tag -a v0.1.0 -m "Release version 0.1.0"
# Push
git push origin main
git push origin v0.1.0- Go to your repository on GitHub
- Click on "Actions" tab
- Watch the build workflow run
- Verify all jobs complete successfully
The workflow will:
- Build DEB packages (Ubuntu, Debian) for spry
- Build Windows packages (cross-compiled)
- Build macOS packages (native)
- Create a GitHub Release with all artifacts
- Go to your repository's "Releases" page
- Verify the v0.1.0 release was created
- Check that all package artifacts are attached:
spry_jammy.deb,spry_bookworm.debspry-windows.zipspry-macos.tar.gz
Download and test a package for your platform:
wget https://github.com/programmablemd/packages/releases/download/v1.7.7/spry_jammy.deb
sudo dpkg -i spry_jammy.deb
spry --help- Check the Actions tab for error messages
- Common issues:
- Docker BuildKit not available (should be available in GitHub runners)
- Syntax errors in YAML files
- Permission issues (check repository settings)
- Verify the tag was pushed:
git push origin v0.1.0 - Check that the tag starts with 'v' (required by workflow)
- Verify the workflow has
releasejob enabled
- Check the workflow logs for upload errors
- Verify artifacts were created in build jobs
- Check GitHub token permissions
After the initial setup, the workflow will automatically:
- On push to main: Build and test packages
- On new tag (v)*: Build, test, and create release
- On pull request: Build and test packages
To release a new version:
# Update version
./scripts/release.sh 0.2.0
# Push
git push origin main
git push origin v0.2.0- Secrets: No secrets are required for basic builds
- Permissions: The workflow uses
GITHUB_TOKENautomatically - Signing: Consider adding GPG signing for production releases
- ✅ Repository deployed
- ✅ First release created
- ✅ Packages available for download
- 📢 Announce the release
- 📝 Update documentation as needed
- 🐛 Monitor issues and feedback
- 🚀 Plan next features
If you encounter issues:
- Check the BUILD.md for build instructions
- Review ARCHITECTURE.md for design details
- Open an issue on GitHub
- Check DALEC documentation: https://project-dalec.github.io/dalec/
Congratulations! 🎉 Your Spry SQLPage DALEC project is now deployed and ready for users!