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

  1. Tag a release: git tag v0.2.0
  2. Push tag: git push origin v0.2.0
  3. release.yml auto-builds binaries for 4 platforms
  4. GitHub Release created with attached binaries

Cross-Compilation Targets

OS Architecture
Linux amd64, arm64
macOS amd64, arm64

Related