/provider-git

🔀 git provider

Primary LanguageGoMIT LicenseMIT

🔀 provider-git

CI Go Report Card PkgGoDev

The git provider for go-semantic-release.

This plugin will make sure that the continuous integration environment conditions are met. Namely that the release is happening on the correct branch.

Usage

To use this plugin you need to include the following block in your .semrelrc file.

{
    "plugins": {
        "provider": {
            "name": "git",
            // Options can be omitted if you want to use the defaults.
            // See the section on configuration below.
            "options": {
                // Put configuration options here
            }
        }
    }
}

Configuration

Name Default Value Description
default_branch master The branch where deployments should happen.
tagger_name semantic-release The name of the user creating the tag.
tagger_email git@go-semantic-release.xyz The email address of the user creating the tag.
remote_name The name of the remote to push to.
auth (Depends on origin URL) The authentication type to use (basic, ssh)
auth_username git The name of the user to use for authentication.
auth_password The password to use for basic auth or the SSH key.
auth_private_key The path to an SSH private key file.
git_path . The path to the Git repository.
push_options The push options for the git tag push.
log_order dfs The log order traversal algorithm.

Authentication

Automatic

If you don't pick a specific authentication mechanism then an authentication mechanism will be picked based on the URL of the Git remote. Under the covers go-git is responsible for determining how to perform this kind of authentication.

Basic

Basic authentication uses a username and password pair to perform authentication over HTTP/HTTPS.

For this method you'll need to set auth_username and auth_password.

SSH

SSH authentication uses an SSH private key to authenticate with the Git remote ove ran SSH connection.

For this method you'll need to set auth_username and auth_private_key. If your private key uses a password then you'll also need to set auth_password.

Log Order Options

log_order=dfs (Default) - Ordering by depth-first search in pre-order

log_order=dfs_post - Ordering by depth-first search in post-order (useful to traverse history in chronological order)

log_order=bfs - Ordering by breadth-first search

log_order=ctime - Ordering by committer time (more compatible with git log)

Licence

The MIT License (MIT)

Copyright © 2020 Christoph Witzko