Git-related Modules

git-auth

The module provides the basics for working with a git repository.

Example import:

hci-effects.modularEffect {
  imports = [
    hci-effects.modules.git-auth
  ];
}

git.checkout.forgeType

The forge type according to Hercules CI.

Valid values include "github" and "gitlab", or you could forward this from herculesCI.repo.forgeType (flake-parts) or the metadata passed to the herculesCI function: primaryRepo.forgeType.

Type: string

Example: primaryRepo.forgeType

Declared by:

git.checkout.remote.url

The git remote URL. Currently only http/https URLs are supported.

The current repo URL is available in herculesCI.repo.remoteHttpUrl or the metadata passed to the herculesCI function: primaryRepo.remoteHttpUrl.

Type: string

Example: primaryRepo.remoteHttpUrl

Declared by:

git.checkout.tokenSecret

Name of the secret that contains the git token.

Type: string

Default: "token"

Declared by:

git.checkout.user

User name for authentication with the git remote.

Type: string

Default: "git"

Declared by:

git-update

A module that facilitates the updating of a git repository.

Example import:

hci-effects.modularEffect {
  imports = [
    hci-effects.modules.git-update
  ];
}

git.update.baseBranch

Branch name on the remote that the update branch will be

  • based on (via git.update.baseMerge.branch), and

  • merged back into (via git.update.pullRequest.base) if enabled.

"HEAD" refers to the default branch, which is often main or master.

Type: string

Default: "HEAD"

Declared by:

git.update.baseMerge.enable

Whether to merge the base branch into the update branch before running git.update.script.

This is useful to ensure that the update branch is up to date with the base branch.

If this option is false, you may have to merge or rebase the update branch manually sometimes.

Type: boolean

Default: false

Declared by:

git.update.baseMerge.branch

Branch name on the remote to merge into the update branch before running git.update.script.

Used when git.update.baseMerge.enable is true.

Type: string

Default:

git.update.baseBranch

Declared by:

git.update.baseMerge.method

How to merge the base branch into the update branch before running git.update.script.

Used when git.update.baseMerge.enable is true.

Type: one of “merge”, “rebase”

Default: "merge"

Declared by:

git.update.branch

Branch name to push to.

If you use pull requests, this should be a “feature” branch.

Type: string

Declared by:

git.update.pullRequest.enable

Whether to create a pull request to merge the updated branch into the default branch.

Type: boolean

Default: true

Declared by:

git.update.pullRequest.autoMergeMethod

Whether to enable auto-merge on new pull requests, and how to merge it.

This requires GitHub branch protection to be configured for the repository.

Type: one of <null>, “merge”, “rebase”, “squash”

Default: null

Declared by:

git.update.pullRequest.base

Branch name on the remote to merge the update branch into.

Used when git.update.pullRequest.enable is true.

Type: string

Default:

git.update.baseBranch

Example: "develop"

Declared by:

git.update.pullRequest.body

The body, or description, of the pull request.

A more detailed body can be achieved by making git.update.script set the body contents in the HCI_GIT_UPDATE_PR_BODY environment variable.

If null, the body will be empty or automatic based on the commit message.

Type: null or string

Declared by:

git.update.pullRequest.title

The title to use for the pull request.

A more detailed title can be achieved by making git.update.script set the title in the HCI_GIT_UPDATE_PR_TITLE environment variable.

Type: string

Declared by:

git.update.script

Bash statements that create zero or more commits. All changes must be explicitly committed by the script.

The working directory is the root of the checkout.

Type: strings concatenated with “\n”

Declared by:

See also