Skip to content
download

GitHub Action

Checkout Repo

v1.3.5 Latest version

Checkout Repo

download

Checkout Repo

Action to checkout GIT Repository with special reference handling

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Checkout Repo

uses: rohmanngmbh/action-checkout-repo@v1.3.5

Learn more about this action in rohmanngmbh/action-checkout-repo

Choose a version

GitHub action: checkout

It's based on Base Checkout Action and Cached LFS Checkout Action.

We added a special reference handling called "alt_ref". This feature we need in case of a multi-repo build chain in case of mirror branches. If the feature branch does not exist in your repository, the alternative reference 'alt_ref' will be taken. To handle the reference stuff we are using PyGithub.

You can set regular expression to checkout reference, too.

Check this out on Github Marketplace.

Hint(s):

  • Windows did not use an own virtual environment (python)
  • This works only for GitHub Repos
  • local files will be checked out to folder .temp

Options

This action supports:

  • checkout to a special folder / path
  • submodules
  • git lfs (in cached mode)
  • select a special reference
  • select a alternative reference (used when your regular reference does not exist)
  • select a reference with regular expression e.g like */release/*.*.* (and get the last matching, in case of downgrade you get the )

Examples:

Checkout a special branch

- name: Checkout repo with a special branch
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    ref: my-branch

Checkout private repo

- name: Checkout private repo
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    repository: my-org/my-private-repo
    token: ${{ secrets.GH_PAT }} # `GH_PAT` is a secret that contains your PAT
    path: my-repo

## GIT LFS repo
```yaml
- name: Checkout git lfs repo
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    lfs: true

This uses a regular checkout like Cached LFS Checkout Action.

Checkout repo with submodules

If you want to use LFS use:

- name: Checkout repo with submodules
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    submodules: recursive

Checkout a special branch with fallback alternative

- name: Checkout repo with alternative ref
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    ref: feature/blue-light
    alt_ref: develop

Checkout the last tag with a regular expression

- name: Checkout repo with alternative ref
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    ref: */release/*.*.* 

Checkout the last tag with a regular expression and not matching to default branch

- name: Checkout repo with alternative ref
  uses: rohmanngmbh/action-checkout-repo@v1.3.5
  with:
    ref: */release/*.*.* 
    regex_next_to_last: true

Checkout one repository with different 'states' to check up and downgrade mechanism

- name: Checkout to update folder
  uses: rohmanngmbh/action-checkout-repo@main
  with:
    path: update
    lfs: true
    ref: ${{ github.ref }}

- name: Checkout to downgrade folder
  uses: rohmanngmbh/action-checkout-repo@main
  with:
    path: downgrade
    lfs: true
    ref: project/release/*
    regex_next_to_last: true

License

The scripts and documentation in this project are released under the MIT License.

Support OS

Test

  • ubuntu-22.04 (ubuntu-latest)
  • windows-2022 (windows-latest)
  • macos-12 (macos-latest)