Contributing CI CD Pipeline - osama1998H/Moca GitHub Wiki
CI/CD Pipeline
GitHub Actions workflows: build, test, benchmark, and release.
Workflows
| Workflow | Trigger | What It Does |
|---|---|---|
ci.yml |
Push/PR to main | Build, test (with race detector), integration test (PG + Redis + Meili), lint |
benchmark.yml |
PR to main (when pkg/internal/cmd changed) | Benchmark regression detection against baseline |
release.yml |
Tag v* |
Cross-compile (linux/darwin x amd64/arm64), create GitHub release with binaries |
nightly.yml |
Scheduled | Nightly build and full test suite |
CI Environment
- Go: 1.26.1
- Linter: golangci-lint v2.11.4
- Docker services: PostgreSQL 16, Redis 7, Meilisearch v1.12
Release Process
- Tag a release:
git tag v0.2.0 - Push tag:
git push origin v0.2.0 release.ymlauto-builds binaries for 4 platforms- GitHub Release created with attached binaries
Cross-Compilation Targets
| OS | Architecture |
|---|---|
| Linux | amd64, arm64 |
| macOS | amd64, arm64 |