talos-systems / Conform
Licence: mpl-2.0
Policy enforcement for your pipelines.
Stars: ✭ 252
Programming Languages
go
31211 projects - #10 most used programming language
Labels
Projects that are alternatives of or similar to Conform
Dyn365 Ce Vsts Tasks
VSTS Extension for Dynamics 365 Customer Engagement
Stars: ✭ 94 (-62.7%)
Mutual labels: build-automation
Grunt Drupal Tasks
Grunt-based build and testing tasks for Drupal
Stars: ✭ 125 (-50.4%)
Mutual labels: build-automation
Buildpipeline
AWS-powered serverless build, test and deploy pipeline ft. multiple environments
Stars: ✭ 105 (-58.33%)
Mutual labels: build-automation
Redo
Smaller, easier, more powerful, and more reliable than make. An implementation of djb's redo.
Stars: ✭ 1,589 (+530.56%)
Mutual labels: build-automation
Anydsl
Meta project to quickly build dependencies
Stars: ✭ 87 (-65.48%)
Mutual labels: build-automation
Ducible
A tool to make Windows builds reproducible.
Stars: ✭ 211 (-16.27%)
Mutual labels: build-automation
Nginx Builder
A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Stars: ✭ 123 (-51.19%)
Mutual labels: build-automation
Buildhelpers
Helper functions for PowerShell CI/CD scenarios
Stars: ✭ 174 (-30.95%)
Mutual labels: build-automation
Make.go
A Go script that could replace your Makefile.
Stars: ✭ 105 (-58.33%)
Mutual labels: build-automation
Aria2 Build Msys2
aria2 build scripts on msys2 with custom patches.
Stars: ✭ 112 (-55.56%)
Mutual labels: build-automation
Baumeister
👷 The aim of this project is to help you to build your things. From Bootstrap themes over static websites to single page applications.
Stars: ✭ 171 (-32.14%)
Mutual labels: build-automation
Igniteui Cli
Ignite UI Command-Line Interface by Infragistics
Stars: ✭ 105 (-58.33%)
Mutual labels: build-automation
Pybuilder
Software build automation tool for Python.
Stars: ✭ 1,290 (+411.9%)
Mutual labels: build-automation
Ci Detector
Detect continuous integration environment and get information of current build
Stars: ✭ 138 (-45.24%)
Mutual labels: build-automation
Build Harness
🤖Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more
Stars: ✭ 236 (-6.35%)
Mutual labels: build-automation
Jenkins Ue4
Automated Unreal Engine 4 Project Builds
Stars: ✭ 206 (-18.25%)
Mutual labels: build-automation
Xrm Ci Framework
xRM CI Framework provides you with the tools automate the build and deployment of your CRM Solution. Using the framework to implement a fully automated DevOps pipeline will allow you to deploy more frequently with added consistency and quality.
Stars: ✭ 172 (-31.75%)
Mutual labels: build-automation
Conform
Policy enforcement for your pipelines.
Conform is a tool for enforcing policies on your build pipelines.
Some of the policies included are:
-
Commits: Enforce commit policies including:
- Commit message header length
- Developer Certificate of Origin
- GPG signature
- Conventional Commits
- Imperative mood
- Spell check
- Maximum of one commit ahead of
master
- Require a commit body
- Jira issue check
- License Headers: Enforce license headers on source code files.
Getting Started
To install conform you can download a release, or build it locally (go must be installed):
go get github.com/talos-systems/conform
Now, create a file named .conform.yaml
with the following contents:
policies:
- type: commit
spec:
header:
length: 89
imperative: true
case: lower
invalidLastCharacters: .
jira:
keys:
- PROJ
- JIRA
body:
required: true
dco: true
gpg: false
spellcheck:
locale: US
maximumOfOneCommit: true
conventional:
types:
- "type"
scopes:
- "scope"
descriptionLength: 72
- type: license
spec:
skipPaths:
- .git/
- .build*/
includeSuffixes:
- .ext
excludeSuffixes:
- .exclude-ext-prefix.ext
header: |
This is the contents of a license header.
In the same directory, run:
$ conform enforce
POLICY CHECK STATUS MESSAGE
commit Header Length PASS <none>
commit Imperative Mood PASS <none>
commit Header Case PASS <none>
commit Header Last Character PASS <none>
commit DCO PASS <none>
commit Conventional Commit PASS <none>
commit Number of Commits PASS <none>
commit Commit Body PASS <none>
license File Header PASS <none>
To setup a commit-msg
hook:
cat <<EOF | tee .git/hooks/commit-msg
#!/bin/sh
conform enforce --commit-msg-file \$1
EOF
chmod +x .git/hooks/commit-msg
We also provide a Pre-Commit hook that you can use as follows:
# .pre-commit-config.yaml
repos:
- repo: https://github.com/talos-systems/conform
rev: master
hooks:
- id: conform
stages:
- commit-msg
License
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].