Git Commit

kind: gitcommit

sourceconditiontarget

The Git Commit "source" returns the latest commit hash referenced by a Git branch.

The Git Commit "condition" checks that a commit exists in a repository. The commit hash defaults to the source output and can be overridden with spec.hash. Abbreviated hashes are supported.

The target stage is not supported because commit hashes are immutable values.

Repository selection

Both the source and the condition select a repository in the following order:

  1. The repository configured by spec.url is cloned.

  2. Otherwise, spec.path selects an existing local repository.

  3. Otherwise, the working directory from scmid is used.

When spec.branch is omitted, the current HEAD commit is returned. When it is set, Updatecli resolves the local branch first and then its origin remote-tracking branch. The lookup does not check out the branch or modify the working tree.

Parameters

NameTypeDescriptionRequired
Note

YAML parses an unquoted all-digit value as a number. Quote spec.hash when the commit hash only contains digits.

Example

The following manifest shows SCM, URL, and local-path inputs.

# updatecli.yaml
scms:
  application:
    kind: git
    spec:
      branch: main
      url: https://github.com/example/application.git

sources:
  from-scm:
    name: Get the latest commit from the configured SCM
    kind: gitcommit
    scmid: application
    spec:
      branch: main

  from-url:
    name: Get the latest commit from a Git URL
    kind: gitcommit
    spec:
      branch: main
      depth: 1
      url: https://github.com/example/application.git

  from-path:
    name: Get the latest commit from a local repository
    kind: gitcommit
    spec:
      path: ./application

conditions:
  exists-in-scm:
    name: Check that the source commit exists in the configured SCM
    kind: gitcommit
    scmid: application
    sourceid: from-scm

  pinned-commit:
    name: Check that a pinned commit exists in the repository
    kind: gitcommit
    disablesourceinput: true
    spec:
      url: https://github.com/example/application.git
      hash: 69619610a3fac402931709dfbe89d113041c8776
Top