Used to push generated files from a directory from Git Action step into another repository on Github. This is a slight modification to the original action by @cpina, by design it requires that you specify a target directory on the destination repository. It will not delete any files on the destination repo.
E.g.
- Repository
your-site
contains all the HUGO static site raw files with a custom template. - Repository
site-sub-section
contains a special section ofyour-site
that uses a different HUGO template. - You can compile the static website in
site-sub-section
and push it toyour-site
which in turns gets built by a CI/CD pipeline (GitHub or Third Party).
From the repository that this Git Action is executed the directory that contains the files to be pushed into the repository.
This is the directory in the destination repository where the contents of source-directory
will be copied into.
For the repository https://github.com/cpina/push-to-another-repository-output
is cpina
. It's also used for the Author:
in the generated git messages.
For the repository https://github.com/cpina/push-to-another-repository-output
is push-to-another-repository-output
Warning: this Github Action currently deletes all the files and directories in the destination repository. The idea is to copy from an output
directory into the destination-repository-name
having a copy without any previous files there.
The email that will be used for the commit in the destination-repository-name.
The Username/Organization for the destination repository, if different from destination-github-username
. For the repository https://github.com/cpina/push-to-another-repository-output
is cpina
.
The branch name for the destination repository, if different from master
.
The commit message to be used in the output repository. Optional and defaults to "Update from $REPOSITORY_URL@commit".
The string ORIGIN_COMMIT
is replaced by $REPOSITORY_URL@commit
.
E.g.:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
Generate your personal token following the steps:
- Go to the Github Settings (on the right hand side on the profile picture)
- On the left hand side pane click on "Developer Settings"
- Click on "Personal Access Tokens" (also available at https://github.com/settings/tokens)
- Generate a new token, choose "Repo". Copy the token.
Then make the token available to the Github Action following the steps:
- Go to the Github page for the repository that you push from, click on "Settings"
- On the left hand side pane click on "Secrets"
- Click on "Add a new secret" and name it "API_TOKEN_GITHUB"
- name: Pushes to another repository
uses: darkquasar/github-action-push-to-another-repository@master
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
source-directory: 'public'
destination-github-username: 'darkquasar'
destination-repository-name: 'your-site'
user-email: darkquasar@quasarfun.com