This guide will help you push this repository to GitHub.
- GitHub account created
- Git configured with your username and email:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com"
- Go to https://github.com/new
- Repository name:
duan-sssp - Description:
O(m log^(2/3) n) Single-Source Shortest Path algorithm (Duan et al., 2025) - Set to Public (or Private if you prefer)
- DO NOT initialize with README, .gitignore, or license (we already have these)
- Click "Create repository"
cd /home/phr3nzy/go/src/github.com/phr3nzy/duan-sssp
# Stage all files
git add .
# Create initial commit
git commit -m "Initial commit: O(m log^(2/3) n) SSSP implementation
- Complete implementation of Duan et al. (2025) algorithm
- Comprehensive benchmark suite
- Full documentation (README, QUICKSTART, ALGORITHM, BENCHMARKS)
- CI/CD with GitHub Actions
- Stack overflow fix in FindPivots
- Version 1.0.1"# Set main as default branch
git branch -M main
# Push to GitHub
git push -u origin main- Go to repository Settings → Actions → General
- Under "Actions permissions", select "Allow all actions and reusable workflows"
- Save changes
- Go to Settings → General
- Under "Features", ensure these are checked:
- ✅ Issues
- ✅ Discussions (optional, for Q&A)
- ✅ Projects (optional)
- Go to repository main page
- Click the gear icon next to "About"
- Add topics:
graph-algorithmsshortest-pathssspdijkstragogolangalgorithmsresearchperformance
- Go to Settings → Branches
- Add rule for
mainbranch:- ✅ Require pull request reviews before merging
- ✅ Require status checks to pass before merging
- ✅ Require branches to be up to date before merging
- ✅ Include administrators
Add these badges to the top of your README.md:
[](https://github.com/phr3nzy/duan-sssp/actions)
[](https://goreportcard.com/report/github.com/phr3nzy/duan-sssp)
[](https://godoc.org/github.com/phr3nzy/duan-sssp)
[](https://opensource.org/licenses/MIT)
[](https://arxiv.org/abs/2504.17033)Update with:
# Edit README.md to add badges at the top
# Then commit and push
git add README.md
git commit -m "docs: add status badges"
git pushCreate your first release:
# Create annotated tag
git tag -a v1.0.1 -m "Release v1.0.1
Fixes:
- Stack overflow in FindPivots
- Cycle detection in tree size calculation
Features:
- Complete SSSP implementation
- Comprehensive benchmarks
- Full documentation
"
# Push tag
git push origin v1.0.1This will trigger the Release workflow and create a GitHub release with binaries.
Your package will automatically appear on:
After first push, wait ~30 minutes for indexing, then verify at: https://pkg.go.dev/github.com/phr3nzy/duan-sssp
After pushing, verify:
- Repository accessible at https://github.com/phr3nzy/duan-sssp
- README renders correctly
- CI workflow runs and passes
- Go packages importable:
go get github.com/phr3nzy/duan-sssp - Documentation appears on pkg.go.dev
- Benchmarks run in CI
- License file present
If you get authentication errors:
Using HTTPS:
# Use personal access token instead of password
# Create token at: https://github.com/settings/tokensUsing SSH:
# Change remote to SSH
git remote set-url origin git@github.com:phr3nzy/duan-sssp.git
# Ensure SSH key is added to GitHub
# https://github.com/settings/keysIf CI workflows fail:
- Check Actions tab for error details
- Fix issues locally
- Commit and push fixes
- CI will re-run automatically
If go get fails:
# Ensure go.mod is correct
cat go.mod
# Should show:
# module github.com/phr3nzy/duan-sssp
# go 1.21
# If not, fix it:
go mod edit -module github.com/phr3nzy/duan-sssp
git add go.mod
git commit -m "fix: correct module path"
git push- Write a blog post - Explain the algorithm
- Create tutorial - Step-by-step guide
- Benchmark other implementations - Compare performance
- Get feedback - Share on Reddit, HN, etc.
- Respond to issues - Help users get started
- Share on r/golang
- Share on r/algorithms
- Tweet with #golang #algorithms
- Submit to Hacker News
- Add to Awesome Go
Congratulations! Your SSSP implementation is now on GitHub! 🎉