Skip to content

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

License

Notifications You must be signed in to change notification settings

wal3d122/clone-github-repo-action

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published