Skip to content

Latest commit

 

History

History
86 lines (58 loc) · 3.92 KB

README.md

File metadata and controls

86 lines (58 loc) · 3.92 KB

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.

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
depth NO 1 Ex: most recent commit
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/clone-github-repo-action@v2.1
  with:
    depth: 1
    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/clone-github-repo-action@v2.1
  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)