# StellaOps CI/CD Infrastructure Comprehensive CI/CD infrastructure for the StellaOps platform using Gitea Actions. ## Quick Reference | Resource | Location | |----------|----------| | Workflows | `.gitea/workflows/` (96 workflows) | | Scripts | `.gitea/scripts/` | | Documentation | `.gitea/docs/` | | DevOps Configs | `devops/` | | Release Manifests | `devops/releases/` | ## Workflow Categories ### Core Build & Test | Workflow | File | Description | |----------|------|-------------| | Build Test Deploy | `build-test-deploy.yml` | Main CI pipeline for all modules | | Test Matrix | `test-matrix.yml` | Unified test execution with TRX reporting | | Test Lanes | `test-lanes.yml` | Parallel test lane execution | | Integration Tests | `integration-tests-gate.yml` | Integration test quality gate | ### Release Pipelines | Workflow | File | Description | |----------|------|-------------| | Suite Release | `release-suite.yml` | Full platform release (YYYY.MM versioning) | | Service Release | `service-release.yml` | Per-service release pipeline | | Module Publish | `module-publish.yml` | NuGet and container publishing | | Release Validation | `release-validation.yml` | Post-release verification | | Promote | `promote.yml` | Environment promotion (dev/stage/prod) | ### CLI & SDK | Workflow | File | Description | |----------|------|-------------| | CLI Build | `cli-build.yml` | Multi-platform CLI builds | | CLI Chaos Parity | `cli-chaos-parity.yml` | CLI behavioral consistency tests | | SDK Generator | `sdk-generator.yml` | Client SDK generation | | SDK Publish | `sdk-publish.yml` | SDK package publishing | ### Security & Compliance | Workflow | File | Description | |----------|------|-------------| | Artifact Signing | `artifact-signing.yml` | Cosign artifact signing | | Dependency Security | `dependency-security-scan.yml` | Vulnerability scanning | | License Audit | `license-audit.yml` | OSS license compliance | | License Gate | `dependency-license-gate.yml` | PR license compliance gate | | Crypto Compliance | `crypto-compliance.yml` | Cryptographic compliance checks | | Provenance Check | `provenance-check.yml` | Supply chain provenance | ### Attestation & Evidence | Workflow | File | Description | |----------|------|-------------| | Attestation Bundle | `attestation-bundle.yml` | in-toto attestation bundling | | Evidence Locker | `evidence-locker.yml` | Evidence artifact storage | | VEX Proof Bundles | `vex-proof-bundles.yml` | VEX proof generation | | Signals Evidence | `signals-evidence-locker.yml` | Signal evidence collection | | Signals DSSE Sign | `signals-dsse-sign.yml` | DSSE envelope signing | ### Scanner & Analysis | Workflow | File | Description | |----------|------|-------------| | Scanner Analyzers | `scanner-analyzers.yml` | Language analyzer CI | | Scanner Determinism | `scanner-determinism.yml` | Output reproducibility tests | | Reachability Bench | `reachability-bench.yaml` | Reachability analysis benchmarks | | Reachability Corpus | `reachability-corpus-ci.yml` | Corpus maintenance | | EPSS Ingest Perf | `epss-ingest-perf.yml` | EPSS ingestion performance | ### Determinism & Reproducibility | Workflow | File | Description | |----------|------|-------------| | Determinism Gate | `determinism-gate.yml` | Build determinism quality gate | | Cross-Platform Det. | `cross-platform-determinism.yml` | Cross-OS reproducibility | | Bench Determinism | `bench-determinism.yml` | Benchmark determinism | | E2E Reproducibility | `e2e-reproducibility.yml` | End-to-end reproducibility | ### Module-Specific | Workflow | File | Description | |----------|------|-------------| | Advisory AI Release | `advisory-ai-release.yml` | AI module release | | AOC Guard | `aoc-guard.yml` | AOC policy enforcement | | Authority Key Rotation | `authority-key-rotation.yml` | Key rotation automation | | Concelier Tests | `concelier-attestation-tests.yml` | Concelier attestation tests | | Findings Ledger | `findings-ledger-ci.yml` | Findings ledger CI | | Policy Lint | `policy-lint.yml` | Policy DSL validation | | Router Chaos | `router-chaos.yml` | Router chaos testing | | Signals CI | `signals-ci.yml` | Signals module CI | ### Infrastructure & Ops | Workflow | File | Description | |----------|------|-------------| | Containers Multiarch | `containers-multiarch.yml` | Multi-architecture builds | | Docker Regional | `docker-regional-builds.yml` | Regional Docker builds | | Helm Validation | (via scripts) | Helm chart validation | | Console Runner | `console-runner-image.yml` | Runner image builds | | Obs SLO | `obs-slo.yml` | Observability SLO checks | | Obs Stream | `obs-stream.yml` | Telemetry streaming | ### Documentation & API | Workflow | File | Description | |----------|------|-------------| | Docs | `docs.yml` | Documentation site build | | OAS CI | `oas-ci.yml` | OpenAPI spec validation | | API Governance | `api-governance.yml` | API governance checks | | Schema Validation | `schema-validation.yml` | JSON schema validation | ### Dependency Management | Workflow | File | Description | |----------|------|-------------| | Renovate | `renovate.yml` | Automated dependency updates | | License Gate | `dependency-license-gate.yml` | License compliance gate | | Security Scan | `dependency-security-scan.yml` | Vulnerability scanning | ## Script Categories ### Build Scripts (`scripts/build/`) | Script | Purpose | |--------|---------| | `build-cli.sh` | Build CLI for specific runtime | | `build-multiarch.sh` | Multi-architecture container builds | | `build-airgap-bundle.sh` | Air-gap deployment bundle | ### Test Scripts (`scripts/test/`) | Script | Purpose | |--------|---------| | `determinism-run.sh` | Determinism verification | | `run-fixtures-check.sh` | Test fixture validation | ### Validation Scripts (`scripts/validate/`) | Script | Purpose | |--------|---------| | `validate-compose.sh` | Docker Compose validation | | `validate-helm.sh` | Helm chart validation | | `validate-licenses.sh` | License compliance | | `validate-migrations.sh` | Database migration validation | | `validate-sbom.sh` | SBOM validation | | `validate-spdx.sh` | SPDX format validation | | `validate-vex.sh` | VEX document validation | | `validate-workflows.sh` | Workflow YAML validation | | `verify-binaries.sh` | Binary integrity verification | ### Signing Scripts (`scripts/sign/`) | Script | Purpose | |--------|---------| | `sign-authority-gaps.sh` | Sign authority gap attestations | | `sign-policy.sh` | Sign policy artifacts | | `sign-signals.sh` | Sign signals data | ### Release Scripts (`scripts/release/`) | Script | Purpose | |--------|---------| | `build_release.py` | Suite release orchestration | | `verify_release.py` | Release verification | | `bump-service-version.py` | Service version management | | `read-service-version.sh` | Read current version | | `generate-docker-tag.sh` | Generate Docker tags | | `generate_changelog.py` | AI-assisted changelog | | `generate_suite_docs.py` | Release documentation | | `generate_compose.py` | Docker Compose generation | | `collect_versions.py` | Version collection | | `check_cli_parity.py` | CLI version parity | ### Evidence Scripts (`scripts/evidence/`) | Script | Purpose | |--------|---------| | `upload-all-evidence.sh` | Upload all evidence bundles | | `signals-upload-evidence.sh` | Upload signals evidence | | `zastava-upload-evidence.sh` | Upload Zastava evidence | ### Metrics Scripts (`scripts/metrics/`) | Script | Purpose | |--------|---------| | `compute-reachability-metrics.sh` | Reachability analysis metrics | | `compute-ttfs-metrics.sh` | Time-to-first-scan metrics | | `enforce-performance-slos.sh` | SLO enforcement | ### Utility Scripts (`scripts/util/`) | Script | Purpose | |--------|---------| | `cleanup-runner-space.sh` | Runner disk cleanup | | `dotnet-filter.sh` | .NET project filtering | | `enable-openssl11-shim.sh` | OpenSSL 1.1 compatibility | ## Environment Variables ### Required Secrets | Secret | Purpose | Workflows | |--------|---------|-----------| | `GITEA_TOKEN` | API access, commits | All | | `RENOVATE_TOKEN` | Dependency bot access | `renovate.yml` | | `COSIGN_PRIVATE_KEY_B64` | Artifact signing | Release pipelines | | `AI_API_KEY` | Changelog generation | `release-suite.yml` | | `REGISTRY_USERNAME` | Container registry | Build/deploy | | `REGISTRY_PASSWORD` | Container registry | Build/deploy | | `SSH_PRIVATE_KEY` | Deployment access | Deploy pipelines | ### Common Variables | Variable | Default | Purpose | |----------|---------|---------| | `DOTNET_VERSION` | `10.0.100` | .NET SDK version | | `NODE_VERSION` | `20` | Node.js version | | `RENOVATE_VERSION` | `37.100.0` | Renovate version | | `REGISTRY_HOST` | `git.stella-ops.org` | Container registry | ## Versioning Strategy ### Suite Releases (Platform) - Format: `YYYY.MM` with codenames (Ubuntu-style) - Example: `2026.04 Nova` - Triggered by: Tag `suite-YYYY.MM` - Documentation: `docs/releases/YYYY.MM/` ### Service Releases (Individual) - Format: SemVer `MAJOR.MINOR.PATCH` - Docker tag: `{version}+{YYYYMMDDHHmmss}` - Example: `1.2.3+20250128143022` - Triggered by: Tag `service-{name}-v{version}` - Version source: `src/Directory.Versions.props` ### Module Releases - Format: SemVer `MAJOR.MINOR.PATCH` - Triggered by: Tag `module-{name}-v{version}` ## Documentation | Document | Description | |----------|-------------| | [Architecture](docs/architecture.md) | Workflow architecture and dependencies | | [Scripts Inventory](docs/scripts.md) | Complete script documentation | | [Troubleshooting](docs/troubleshooting.md) | Common issues and solutions | | [Development Guide](docs/development.md) | Creating new workflows | | [Runners](docs/runners.md) | Self-hosted runner setup | | [Dependency Management](docs/dependency-management.md) | Renovate guide | ## Related Documentation - [Main Architecture](../docs/07_HIGH_LEVEL_ARCHITECTURE.md) - [DevOps README](../devops/README.md) - [Release Versioning](../docs/releases/VERSIONING.md) - [Offline Operations](../docs/24_OFFLINE_KIT.md) ## Contributing 1. Read `AGENTS.md` before making changes 2. Follow workflow naming conventions 3. Pin tool versions where possible 4. Keep workflows deterministic and offline-friendly 5. Update documentation when adding/modifying workflows 6. Test locally with `act` when possible ## Support - Issues: https://git.stella-ops.org/stella-ops.org/issues - Documentation: `docs/`