codeowners-validator

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 21, 2019 License: Apache-2.0 Imports: 15 Imported by: 0

README

Codeowners Validator

forthebadge forthebadge

Overview

The Codeowners Validator project validates the GitHub CODEOWNERS file.

Local Installation

go get -u github.com/mszostok/codeowners-validator

Usage

Use the following environment variables to configure the application:

Name Required Default Description
REPOSITORY_PATH Yes - The repository path to your repository on your local machine.
GITHUB_ACCESS_TOKEN No - The GitHub access token. Instruction for creating token can be found here. If not provided then validating owners functionality could not work properly, e.g. you can reach the API calls quota or if you are setting GitHub Enterprise base URL then an unauthorized error can occur.
GITHUB_BASE_URL No https://api.github.com/ The GitHub base URL for API requests. Defaults to the public GitHub API, but can be set to a domain endpoint to use with GitHub Enterprise.
GITHUB_UPLOAD_URL No https://uploads.github.com/ The GitHub upload URL for uploading files.

It is taken into account only when the GITHUB_BASE_URL is also set. If only the GITHUB_BASE_URL is provided then this parameter defaults to the GITHUB_BASE_URL value.
VALID_OWNER_CHECKER_ORGANIZATION_NAME Yes - The organization name where the repository is created. Used to check if GitHub owner is in the given organization.

usage

Roadmap

Sorted with priority. First - most important.

  • Possibility to execute validator online. Automatically integrates with your GitHub account and allows you to check any repository online without the need to download and execute binary locally.
  • Possibility to use the GitHub URL instead of the path to the local repository.
  • Offline mode - execute all checks which not require internet connection against your local repository
  • Investigate the Go Plugins. Implement if it will simplify extending this tool with other checks.
  • Move to cobra library.
  • Add test coverage.
  • Add support for configuration via YAML file.
  • Move dep to go modules

Checks:

  • Unowned files (Not defined owners for given files)
  • Find doubles paths
  • File/directory does not exits
  • Works with teams as well
  • Support for private repos (see below)
  • User exist or not
  • Validate owners
    • check if owner definition is valid (GitHub user, organization team, email address)
    • check if GitHub owner have GitHub account
    • check if GitHub owner is in the given organization
    • check if Organization team exist

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
pkg
url

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL