All Projects → capitalone → checks-out

capitalone / checks-out

Licence: Apache-2.0 license
Checks-Out pull request approval system

Programming Languages

go
31211 projects - #10 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to checks-out

workflow-svg.js
JS Library to present and edit workflows as SVG
Stars: ✭ 30 (-62.03%)
Mutual labels:  workflow-management
gogtags
GNU global compatible source code tagging for golang
Stars: ✭ 42 (-46.84%)
Mutual labels:  tagging
aws-enterprise-naming-tagging-standard
AWS Tagging policy and naming convention for all resources created within any AWS accounts under the AWS Master Account.
Stars: ✭ 48 (-39.24%)
Mutual labels:  tagging
QuitStore
🖧 Quads in Git - Distributed Version Control for RDF Knowledge Bases
Stars: ✭ 87 (+10.13%)
Mutual labels:  versioning
Android-Dependencies
Project wide handling of tested and used libraries. Also including some utility gradle tasks.
Stars: ✭ 14 (-82.28%)
Mutual labels:  versioning
gradle-semantic-build-versioning
Gradle plugin to generate version-numbers and tags using semantic versioning
Stars: ✭ 19 (-75.95%)
Mutual labels:  versioning
mongoid taggable on
Taggable on custom fields for Mongoid
Stars: ✭ 16 (-79.75%)
Mutual labels:  tagging
laravel-tags
Rinvex Taggable is a polymorphic Laravel package, for tag management. You can tag any eloquent model with ease, and utilize the awesomeness of Sluggable, and Translatable models out of the box.
Stars: ✭ 23 (-70.89%)
Mutual labels:  tagging
Alturos.ImageAnnotation
A collaborative tool for labeling image data for yolo
Stars: ✭ 47 (-40.51%)
Mutual labels:  tagging
Position-Aware-Tagging-for-ASTE
Code and models for the paper " Position-Aware Tagging for Aspect Sentiment Triplet Extraction", EMNLP 2020.
Stars: ✭ 70 (-11.39%)
Mutual labels:  tagging
Versionberg
Gradle plugin for versioning your library/application on every git commit
Stars: ✭ 78 (-1.27%)
Mutual labels:  versioning
versio
A version number manager
Stars: ✭ 63 (-20.25%)
Mutual labels:  versioning
ongeza
An automated way to follow the Semantic Versioning Specification
Stars: ✭ 36 (-54.43%)
Mutual labels:  versioning
active snapshot
Simplified snapshots and restoration for ActiveRecord models and associations with a transparent white-box implementation
Stars: ✭ 67 (-15.19%)
Mutual labels:  versioning
prefect-docker-compose
A simple guide to understand Prefect and make it work with your own docker-compose configuration.
Stars: ✭ 122 (+54.43%)
Mutual labels:  workflow-management
hera-workflows
Hera is an Argo Workflows Python SDK. Hera aims to make workflow construction and submission easy and accessible to everyone! Hera abstracts away workflow setup details while still maintaining a consistent vocabulary with Argo Workflows.
Stars: ✭ 252 (+218.99%)
Mutual labels:  workflow-management
dot
distributed data sync with operational transformation/transforms
Stars: ✭ 73 (-7.59%)
Mutual labels:  versioning
get-changelog
A CLI tool to easily find changelogs
Stars: ✭ 21 (-73.42%)
Mutual labels:  versioning
neo4j-migrations
Automated script runner aka "Migrations" for Neo4j. Inspired by Flyway.
Stars: ✭ 82 (+3.8%)
Mutual labels:  versioning
bioinformatics-workflows
minimal example implementations for bioinformatics workflow managers
Stars: ✭ 202 (+155.7%)
Mutual labels:  workflow-management

Due to changes in the priorities, this project is currently not being supported. The project is archived as of 2/15/22 and will be available in a read-only state. Please note, since archival, the project is not maintained or reviewed.

Checks-Out

Join the chat at https://gitter.im/capitalone/checks-out

Checks-Out is a simple pull request approval system using GitHub protected branches and maintainers files. Pull requests are locked and cannot be merged until the minimum number of approvals are received. Project maintainers can indicate their approval by commenting on the pull request and including "I approve" in their approval text. Checks-Out also provides integration with GitHub Reviews. An accepted GitHub Review is counted as an approval. GitHub Review that requests additional changes blocks the pull request from merging.

Read the online documentation to find out more about Checks-Out.

Development

Checks-Out is a fork of LGTM. Our git repository contains the commit history from the upstream project. We are actively seeking contributions from the community. If you'd like to contribute we recommend taking a look at the issues page. You can pick up an open issue and work on it, submit a bug, or submit a new feature request for feedback.

Features

Checks-Out has several features that distinguish itself from the parent LGTM project.

The most popular feature is the ability to specify multiple approval policies. Policies are based around the concept of organizations. An organization is a set of project maintainers. Various types of thresholds can be configured for organizations and boolean conditions can be used to combine policies. Policies can be configured to apply to specific file paths and/or git branches. Refer to the customization documentation for more information about policies.

Checks-Out has optional support for automatic tagging of merges. Tags can configured based on timestamp or semantic versioning.

Checks-Out has optional support for automatic merging of pull requests when all status checks have passed.

Checks-Out has changed the default behavior when new commits are added to a pull request. By default only comments that have a later timestamp than the latest commit are processed by Checks-Out. There is a configuration property to use the original LGTM behavior which is to consider all comments on a pull request.

Usage

.checks-out file

Each repository managed by Checks-Out must have a .checks-out file in the root of the repository. This file provides the configuration that Checks-Out uses for the repository. The configuration file is described in detail in the customization section of the online documentation.

This repository has an .checks-out file that you can use as an example. It is likely that you will need a simple .checks-out file, so you can use the following template:

approvals:
[
  {
    match: "all[count=1,self=false]"
  }
]

MAINTAINERS file

Each repository managed by Checks-Out should have a MAINTAINERS file that specifies who is allowed to approve pull requests. The format of the file is described in the maintainers section of the online documentation. Here is a sample MAINTAINERS file to get you started:

github-org repo-self

Build

Checks-Out uses the Go dep dependency management tool. Dependencies are not stored in the repository. Run dep ensure to install dependencies.

Commands to build from source:

make build   # Build the binary

Contributors

We welcome your interest in Capital One’s Open Source Projects (the “Project”). Any Contributor to the Project must accept and sign a CLA indicating agreement to the license terms. Except for the license granted in this CLA to Capital One and to recipients of software distributed by Capital One, You reserve all right, title, and interest in and to your Contributions; this CLA does not impact your rights to use your own contributions for any other purpose.

Link to Individual CLA

Link to Corporate CLA

This project adheres to the Capital One Open Source Code of Conduct. By participating, you are expected to honor this code.

Contribution Guidelines

We encourage any contributions that align with the intent of this project and add more functionality or languages that other developers can make use of. To contribute to the project, please submit a PR for our review. Before contributing any source code, familiarize yourself with the Apache License 2.0, which controls the licensing for this project.

License

Checks-Out is available under the Apache License 2.0.

This distribution has a binary dependency on errwrap, which is available under the Mozilla Public License 2.0 License. The source code of errwrap can be found at https://github.com/hashicorp/errwrap.

This distribution has a binary dependency on go-version, which is available under the Mozilla Public License 2.0 License. The source code of go-version can be found at https://github.com/hashicorp/go-version.

This distribution has a binary dependency on go-multierror, which is available under the Mozilla Public License 2.0 License. The source code of go-multierror can be found at https://github.com/mspiegel/go-multierror.

This distribution has a binary dependency on go-sql-driver/mysql, which is available under the Mozilla Public License 2.0 License. The source code of go-sql-driver/mysql can be found at https://github.com/go-sql-driver/mysql

FAQ

1. How is this different from GitHub Reviews?

Please use GitHub Reviews if it meets all your requirements. Some significant features in Checks-Out that are not (yet) in GitHub Reviews are: custom approval policies, different approval policies for different branches and/or file paths, optional auto-merge when all status checks have passed, optional auto-tagging of merges.

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].