CI/CD & Releases
Relevant source files
The following files were used as context for generating this wiki page:
Orcastrate uses automated workflows to maintain code quality, generate releases, and distribute the application. The system integrates Rust-specific tooling with GitHub Actions to build, test, and publish the project as both a container image and binary artifacts.
Sources: AGENTS.md:38-44, README.md:95-99
Automated Workflows
The project implements several layers of automation for continuous integration and delivery.
Continuous Integration (CI)
The CI pipeline triggers on pushes to the main branch. It executes the following tasks:
- Builds the Rust application.
- Runs the unit test suite.
- Performs linting using
clippyto ensure code quality.
Sources: AGENTS.md:39-39, README.md:96-98
Dependency Management
Renovate handles automated dependency updates. It is configured to:
- Pin GitHub Action digests for security.
- Group all Cargo dependencies together.
- Enable vulnerability alerts with specific labels.
- Restrict
jsonwebtokenversions to below v11 to maintain compatibility withoctocrab.
Sources: renovate.json:1-32
Release Management
Orcastrate uses a structured release process to manage versioning and changelogs.
Changelog Generation
The project utilizes git-cliff to generate changelogs from conventional commits. The configuration categorizes commits into specific groups:
| Group | Commit Pattern |
|---|---|
| Features | ^feat |
| Bug Fixes | ^fix |
| Performance | ^perf |
| Documentation | ^doc |
| Miscellaneous | ^chore or ^ci |
Sources: cliff.toml:23-38, AGENTS.md:40-40
Distribution and Artifacts
The release automation produces multiple distribution formats:
- GitHub Container Registry (GHCR): Docker images are published to
ghcr.io/michidk/orcastrate:main. - Binary Artifacts: Compiled binaries are generated during the release process.
- Floating Tags: The project maintains floating major version tags (e.g.,
v0) for easier consumption in GitHub Actions.
Sources: AGENTS.md:41-43, README.md:95-99
Release Flow
The following diagram illustrates the transition from code changes to a published release.
The diagram shows the parallel paths for continuous deployment of the main image and the formal release process triggered by version tags.
Sources: AGENTS.md:38-44, cliff.toml:1-40
Action Integration
Orcastrate is packaged as a Docker-based GitHub Action. The action.yml file defines how the orchestrator runs within consumer environments.
Execution Configuration
The action uses the main image from GHCR and executes via an entrypoint script.
| Input | Description | Default |
|---|---|---|
command | Operation to run (sync, validate, etc.) | sync |
config | Path to the orchestrator.toml file | orchestrator.toml |
mode | Sync behavior (pr, issue, silent) | pr |
dry-run | Prevents modifications | false |
Sources: action.yml:4-35
Authentication Matrix
Release workflows and consumer actions interact with GitHub using various token types.
The system distinguishes between workflow file modifications (requiring high-privilege PATs) and standard PR operations.
Sources: AGENTS.md:47-53, README.md:120-136
Summary
The CI/CD system ensures that Orcastrate is consistently tested and safely distributed. By combining automated dependency updates, conventional commit-based changelogs, and dual-track distribution (Docker and Binaries), the project maintains a reliable release cycle for organizational workflow management.