conform  by siderolabs

Pipeline policy enforcement tool

created 8 years ago
476 stars

Top 65.2% on sourcepulse

GitHubView on GitHub
Project Summary

Conform is a policy enforcement tool designed for CI/CD pipelines, enabling teams to maintain code quality and adherence to development standards. It targets developers and DevOps engineers seeking to automate checks for commit messages, license headers, and other project-specific policies.

How It Works

Conform operates by defining policies in a YAML configuration file (.conform.yaml). It then executes these policies against the codebase, typically integrated into Git hooks or CI pipelines. The tool supports various policy types, including detailed commit message validation (length, mood, DCO, GPG, conventional commits, spellcheck) and license header enforcement across source files.

Quick Start & Requirements

  • Install via Go: go install github.com/siderolabs/conform/cmd/conform@latest
  • Install via Docker: docker run --rm -it -v $PWD:/src:ro,Z -w /src ghcr.io/siderolabs/conform:v0.1.0-alpha.22 enforce
  • Install via Aqua: aqua g -i siderolabs/conform
  • Requires Go for local build.
  • Documentation: https://github.com/siderolabs/conform

Highlighted Details

  • Comprehensive commit policy checks: header length, imperative mood, DCO, GPG signature, conventional commits, spellcheck, Jira issue integration.
  • License header enforcement with path skipping and suffix inclusion/exclusion.
  • Supports Git commit-msg hooks and Pre-Commit integration.
  • Configurable policy specifications for granular control.

Maintenance & Community

  • Maintained by Sidero Labs.
  • No explicit community links (Discord/Slack) or roadmap provided in the README.

Licensing & Compatibility

  • License: Not explicitly stated in the README. The repository structure suggests it might be Apache 2.0 or similar, but this requires verification.
  • Compatibility: Suitable for integration into various CI/CD systems and local Git workflows.

Limitations & Caveats

The project is currently in alpha status (v0.1.0-alpha.22), indicating potential instability or breaking changes. The license is not clearly specified, which could impact commercial use or integration into proprietary projects.

Health Check
Last commit

1 day ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
10 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.