Clone Github Repo Action Save

Github Action to clone a public or private Github repository and access its content on others repositories' workflows ♻️

Project README

Clone Github Repository Action

Public workflows that use this action. Clone Public Repository Workflow Clone Private Repository Workflow

Title

Github Action to clone a public or private Github repository and access its content on others repositories' workflows.

What changed with the action v2 ?

This action v2 is using a composite action to be compatible with all operating systems (the v1 was using a Dockerfile that was only compatible with ubuntu-* runners).

What changed with the action v2.1 ?

You now have a new input parameter called depth, which is optional and has an empty default value. If you specify a depth value when using the action, it will be passed as the value for the --depth parameter of the git clone command. Otherwise, the clone will be done with the default depth, which is the full history.

What changed with the action v2.2 ?

You now have a new input parameter called branch, which is optional and uses main as default value. If you specify a branch value when using the action, it will be passed as the value for the --branch parameter of the git clone command.

What changed with the action v2.3 ?

You now have a new input parameter called submodule, which is optional and uses false as default value. If you specify the submodule value when using the action as true, it will clone the submodule along with the repository.

How to use this action?

Create a new .yml file on your .github/workflows directory.

Field Mandatory Observation
owner YES Ex: octocat
repository YES Ex: clone-github-repo-action
branch NO Ex: main (default)
depth NO 1 Ex: most recent commit
submodule NO false or true
access-token NO How to create a PAT

You can use one of those as reference:

For a public repository (with depth)

- name: Clone GuillaumeFalourd/poc-github-actions PUBLIC repository
  uses: GuillaumeFalourd/[email protected]
  with:
    depth: 1
    branch: 'main'
    owner: 'GuillaumeFalourd'
    repository: 'poc-github-actions'

For a private repository

To use this action to clone a PRIVATE repository the Github User/Admin has access to, it's necessary to create a PERSONAL ACCESS TOKEN with REPOSITORY scopes.

- name: Clone GuillaumeFalourd/formulas-training PRIVATE repository
  uses: GuillaumeFalourd/[email protected]
  with:
    owner: 'GuillaumeFalourd'
    repository: 'formulas-training'
    access-token: ${{ secrets.ACCESS_TOKEN }}

Access repository content

After using this action in your workflow, you can use the following command to access the cloned repository content:

cd <repository-name>

Step Example

- name: Access cloned repository content
  run: |
    cd <repository-name>
    ls -la

Licensed

☞ This repository uses the Apache License 2.0

Contributing

Guidelines

(Made with contributors-img)

Open Source Agenda is not affiliated with "Clone Github Repo Action" Project. README Source: GuillaumeFalourd/clone-github-repo-action

Open Source Agenda Badge

Open Source Agenda Rating