mirror of
https://github.com/stefanzweifel/git-auto-commit-action.git
synced 2025-07-30 22:46:13 +08:00
Compare commits
49 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
69a12041a1 | ||
|
91b7d20ead | ||
|
044b6b777c | ||
|
9aab2f8a5c | ||
|
0280d2ccee | ||
|
b0b5ed34dd | ||
|
ae38c94802 | ||
|
3aae7bb63f | ||
|
c180c695f2 | ||
|
c1a70c9013 | ||
|
02c4f2cf78 | ||
|
3c687aa8ba | ||
|
a69eabaead | ||
|
9f2c45c9eb | ||
|
5bf88dc2fd | ||
|
fd2aab7c5b | ||
|
f342c95aa2 | ||
|
1157d7bbe9 | ||
|
58b79711d8 | ||
|
f5f76eb1f4 | ||
|
5513d18f64 | ||
|
6ef5688e81 | ||
|
e02ededdeb | ||
|
2f5e73df85 | ||
|
cc16347545 | ||
|
1ee136f439 | ||
|
7fdc480651 | ||
|
394681d465 | ||
|
a261484cc8 | ||
|
43ed630979 | ||
|
ee9d717e46 | ||
|
68b94ecdf3 | ||
|
2b0a9bca02 | ||
|
13c9c82cae | ||
|
6e0a745133 | ||
|
88ddd5fba5 | ||
|
2dec151b5c | ||
|
1ba0b8765f | ||
|
f278d451d8 | ||
|
1f6bf5e4c0 | ||
|
5dae7dbdb7 | ||
|
fbbf9665a8 | ||
|
e8ab63a01b | ||
|
fdbf836519 | ||
|
8f94f9b7ec | ||
|
e6db1ef8bd | ||
|
d09082150e | ||
|
3e578b5696 | ||
|
c586963a3d |
10
.github/ISSUE_TEMPLATE/bug_report.md
vendored
10
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -7,8 +7,10 @@ assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!-- Before opening an issue, have you tried solving your problem by explicitly setting the `branch`-value in your workflow? -->
|
||||
|
||||
**Version of the Action**
|
||||
`v2.x.x`
|
||||
`v4.x.x`
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
@@ -26,5 +28,11 @@ A clear and concise description of what you expected to happen.
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Used Workflow**
|
||||
|
||||
```yaml
|
||||
# Paste the Workflow you've used here
|
||||
```
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
|
31
.github/workflows/continuous-deployment.yml
vendored
31
.github/workflows/continuous-deployment.yml
vendored
@@ -1,31 +0,0 @@
|
||||
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
|
||||
|
||||
name: "Continuous Deployment"
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "**"
|
||||
|
||||
jobs:
|
||||
release:
|
||||
name: "Release"
|
||||
|
||||
runs-on: "ubuntu-latest"
|
||||
|
||||
steps:
|
||||
- name: "Determine tag"
|
||||
id: "determine-tag"
|
||||
run: "echo \"::set-output name=tag::${GITHUB_REF#refs/tags/}\""
|
||||
|
||||
- name: "Create release"
|
||||
uses: "actions/create-release@v1.0.0"
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
with:
|
||||
draft: false
|
||||
prerelease: false
|
||||
body: |
|
||||
See [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md) for details.
|
||||
release_name: "${{ steps.determine-tag.outputs.tag }}"
|
||||
tag_name: "${{ steps.determine-tag.outputs.tag }}"
|
43
CHANGELOG.md
43
CHANGELOG.md
@@ -4,11 +4,50 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.3...HEAD)
|
||||
## [Unreleased](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.3.0...HEAD)
|
||||
|
||||
> TBD
|
||||
|
||||
|
||||
## [v4.3.0](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.2.0...v4.3.0) - 2020-05-16
|
||||
|
||||
Note: Since v4.3.0 we provide major version tags. You can now use `stefanzweifel/git-auto-commit-action@v4` to always use the latest release of a major version. See [#77](https://github.com/stefanzweifel/git-auto-commit-action/issues/77) for details.
|
||||
|
||||
### Added
|
||||
- Add new `push_options`-input. This feature makes it easier for you to force-push commits to a repository. [#78](https://github.com/stefanzweifel/git-auto-commit-action/pull/78), [#72](https://github.com/stefanzweifel/git-auto-commit-action/issues/72)
|
||||
|
||||
|
||||
## [v4.2.0](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.6...v4.2.0) - 2020-05-10
|
||||
|
||||
### Changed
|
||||
- Use `${{ github.head_ref }}` as default branch value. Therefore, the branch name when listening for `pull_request`-events is optional. [#75](https://github.com/stefanzweifel/git-auto-commit-action/pull/75), [#73](https://github.com/stefanzweifel/git-auto-commit-action/pull/73)
|
||||
|
||||
|
||||
## [v4.1.6](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.5...v4.1.6) - 2020-04-28
|
||||
|
||||
### Fixes
|
||||
- Fix issue where tags could not be created correctly [#68](https://github.com/stefanzweifel/git-auto-commit-action/pull/68)
|
||||
|
||||
## [v4.1.5](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.4...v4.1.5) - 2020-04-23
|
||||
|
||||
### Added
|
||||
- Update `file_pattern` to support multiple file paths [#65](https://github.com/stefanzweifel/git-auto-commit-action/pull/65)
|
||||
|
||||
### Changes
|
||||
- Revert changes made in v4.1.4 [#63](https://github.com/stefanzweifel/git-auto-commit-action/pull/63)
|
||||
|
||||
### Fixes
|
||||
- Fix issue with `commit_options` [#64](https://github.com/stefanzweifel/git-auto-commit-action/pull/64)
|
||||
|
||||
## [v4.1.4](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.3...v4.1.4) - 2020-04-22
|
||||
|
||||
### Fixed
|
||||
- Fix bug introduced in previous version, where git user configuration has been placed inline [#62](https://github.com/stefanzweifel/git-auto-commit-action/pull/62)
|
||||
|
||||
|
||||
## [v4.1.3](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.2...v4.1.3) - 2020-04-18
|
||||
|
||||
### Changed
|
||||
### Changed
|
||||
- Place Git user configuration inline [#59](https://github.com/stefanzweifel/git-auto-commit-action/pull/59)
|
||||
|
||||
## [v4.1.2](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.1.1...v4.1.2) - 2020-04-03
|
||||
|
155
README.md
155
README.md
@@ -1,35 +1,31 @@
|
||||
# git-auto-commit-action
|
||||
# git-auto-commit Action
|
||||
|
||||
This GitHub Action automatically commits files which have been changed during a Workflow run and pushes the commit back to GitHub.
|
||||
The default committer is "GitHub Actions <actions@github.com>" and the default author of the commit is "Your GitHub Username <github_username@users.noreply.github.com>".
|
||||
> The GitHub Action for committing files for the 80% use case.
|
||||
|
||||
If no changes are detected, the Action does nothing.
|
||||
This GitHub Action automatically commits files which have been changed during a Workflow run and pushes the commit back to GitHub.
|
||||
The default committer is "GitHub Actions <actions@github.com>", and the default author of the commit is "Your GitHub Username <github_username@users.noreply.github.com>".
|
||||
|
||||
This Action has been inspired and adapted from the [auto-commit](https://github.com/cds-snc/github-actions/tree/master/auto-commit
|
||||
)-Action of the Canadian Digital Service and this [commit](https://github.com/elstudio/actions-js-build/blob/41d604d6e73d632e22eac40df8cc69b5added04b/commit/entrypoint.sh)-Action by Eric Johnson.
|
||||
|
||||
*This Action currently can't be used in conjunction with pull requests of forks. See [issue #25](https://github.com/stefanzweifel/git-auto-commit-action/issues/25) for more information.*
|
||||
|
||||
## Usage
|
||||
|
||||
**Note:** This Action requires that you use `action/checkout@v2` or above to checkout your repository.
|
||||
|
||||
Add the following step at the end of your job.
|
||||
Add the following step at the end of your job, after other steps that might add or change files.
|
||||
|
||||
```yaml
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4.1.2
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
# Required
|
||||
commit_message: Apply automatic changes
|
||||
|
||||
# Optional name of the branch the commit should be pushed to
|
||||
# Required if Action is used in Workflow listening to the `pull_request` event
|
||||
branch: ${{ github.head_ref }}
|
||||
# Optional branch to push to, defaults to the current branch
|
||||
branch: feature-123
|
||||
|
||||
# Optional git params
|
||||
# Optional options appended to `git-commit`
|
||||
commit_options: '--no-verify --signoff'
|
||||
|
||||
# Optional glob pattern of files which should be added to the commit
|
||||
file_pattern: src/\*.js
|
||||
file_pattern: src/*.js tests/*.js
|
||||
|
||||
# Optional local file path to the repository
|
||||
repository: .
|
||||
@@ -39,28 +35,29 @@ Add the following step at the end of your job.
|
||||
commit_user_email: my-github-actions-bot@example.org
|
||||
commit_author: Author <actions@github.com>
|
||||
|
||||
# Optional tag message. Will create and push a new tag to the remote repository
|
||||
# Optional tag message
|
||||
# Action will create and push a new tag to the remote repository and the defined branch
|
||||
tagging_message: 'v1.0.0'
|
||||
|
||||
# Optional options appended to `git-push`
|
||||
push_options: '--force'
|
||||
```
|
||||
|
||||
The Action will only commit files back, if changes are available. The resulting commit **will not trigger** another GitHub Actions Workflow run!
|
||||
## Example
|
||||
|
||||
We recommend to use this Action in Workflows, which listen to the `pull_request` event. You can then use the option `branch: ${{ github.head_ref }}` to set up the branch name correctly.
|
||||
If you don't pass a branch name, the Action will try to push the commit to a branch with the same name, as with which the repo has been checked out.
|
||||
In this example, we're running `php-cs-fixer` in a PHP project to fix the codestyle automatically, then commit possible changed files back to the repository.
|
||||
|
||||
## Example Usage
|
||||
|
||||
This Action will only work, if the job in your Workflow changes files.
|
||||
The most common use case for this, is when you're running a Linter or Code-Style fixer on GitHub Actions.
|
||||
|
||||
In this example I'm running `php-cs-fixer` in a PHP project.
|
||||
|
||||
### Example on `pull_request` event
|
||||
Note that we explicitly specify `${{ github.head_ref }}` in the checkout Action.
|
||||
This is required in order to work with the `pull_request` event (or any other non-`push` event).
|
||||
|
||||
```yaml
|
||||
name: php-cs-fixer
|
||||
|
||||
on: pull_request
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- "master"
|
||||
|
||||
jobs:
|
||||
php-cs-fixer:
|
||||
@@ -74,90 +71,94 @@ jobs:
|
||||
- name: Run php-cs-fixer
|
||||
uses: docker://oskarstark/php-cs-fixer-ga
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4.1.2
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: Apply php-cs-fixer changes
|
||||
branch: ${{ github.head_ref }}
|
||||
```
|
||||
|
||||
### Example on `push` event
|
||||
## Limitations & Gotchas
|
||||
|
||||
### Checkout the correct branch
|
||||
|
||||
You must use `action/checkout@v2` or later versions to checkout the repository.
|
||||
In non-`push` events, such as `pull_request`, make sure to specify the `ref` to checkout:
|
||||
|
||||
```yaml
|
||||
name: php-cs-fixer
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
php-cs-fixer:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Run php-cs-fixer
|
||||
uses: docker://oskarstark/php-cs-fixer-ga
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4.1.2
|
||||
with:
|
||||
commit_message: Apply php-cs-fixer changes
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.head_ref }}
|
||||
```
|
||||
|
||||
### Inputs
|
||||
You have to do this do avoid that the `checkout`-Action clones your repository in a detached state.
|
||||
|
||||
### Commits of this Action do not trigger new Workflow runs
|
||||
|
||||
The resulting commit **will not trigger** another GitHub Actions Workflow run.
|
||||
This is due to [limititations set by GitHub](https://help.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token).
|
||||
|
||||
> When you use the repository's GITHUB_TOKEN to perform tasks on behalf of the GitHub Actions app, events triggered by the GITHUB_TOKEN will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs.
|
||||
|
||||
You can change this by creating a new [Personal Access Token (PAT)](https://github.com/settings/tokens/new),
|
||||
storing the token as a secret in your repository and then passing the new token to the [`actions/checkout`](https://github.com/actions/checkout#usage) Action.
|
||||
|
||||
```yaml
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.PAT_TOKEN }}
|
||||
```
|
||||
|
||||
### Unable to commit into PRs from forks
|
||||
|
||||
GitHub currently prohibits Actions to push commits to forks, even when they created a PR and allow edits.
|
||||
See [issue #25](https://github.com/stefanzweifel/git-auto-commit-action/issues/25) for more information.
|
||||
|
||||
## Inputs
|
||||
|
||||
Checkout [`action.yml`](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/action.yml) for a full list of supported inputs.
|
||||
|
||||
## Outputs
|
||||
|
||||
You can use these outputs to trigger other Actions in your Workflow run based on the result of `git-auto-commit-action`.
|
||||
|
||||
- `changes_detected`: Returns either "true" or "false" if the repository was dirty and files have changed.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Can't push commit to repository
|
||||
If your Workflow can't push the commit to the repository because of authentication issues, please update your Workflow configuration and usage of [`actions/checkout`](https://github.com/actions/checkout#usage). (Updating the `token` value with a Personal Access Token should fix your issues)
|
||||
### Action does not push commit to repository
|
||||
|
||||
### Commit of this Action does not trigger a new Workflow run
|
||||
As mentioned in the [Usage](#Usage) section, the commit created by this Action **will not trigger** a new Workflow run automatically.
|
||||
Make sure to [checkout the correct branch](#checkout-the-correct-branch).
|
||||
|
||||
This is due to limitations set up by GitHub:
|
||||
### Action does not push commit to repository: Authentication Issue
|
||||
|
||||
> An action in a workflow run can't trigger a new workflow run. For example, if an action pushes code using the repository's GITHUB_TOKEN, a new workflow will not run even when the repository contains a workflow configured to run when push events occur.
|
||||
[Source](https://help.github.com/en/actions/reference/events-that-trigger-workflows)
|
||||
If your Workflow can't push the commit to the repository because of authentication issues,
|
||||
please update your Workflow configuration and usage of [`actions/checkout`](https://github.com/actions/checkout#usage).
|
||||
|
||||
You can change this by creating a new [Personal Access Token (PAT)](https://github.com/settings/tokens/new), storing the token as a secret in your repository and then passing the new token to the [`actions/checkout`](https://github.com/actions/checkout#usage) Action.
|
||||
Updating the `token` value with a Personal Access Token should fix your issues.
|
||||
|
||||
#### Example Workflow
|
||||
## Action does not push to protected branch
|
||||
|
||||
If your repository uses [protected branches](https://help.github.com/en/github/administering-a-repository/configuring-protected-branches) this Action will not be able to push to your repository.
|
||||
|
||||
You have to enable force pushes to a protected branch (See [documentation](https://help.github.com/en/github/administering-a-repository/enabling-force-pushes-to-a-protected-branch)) and update your Workflow to use force push like so.
|
||||
|
||||
```yaml
|
||||
name: php-cs-fixer
|
||||
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
php-cs-fixer:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
token: ${{ secrets.PAT_TOKEN }}
|
||||
|
||||
- name: Run php-cs-fixer
|
||||
uses: docker://oskarstark/php-cs-fixer-ga
|
||||
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4.1.2
|
||||
- uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: Apply php-cs-fixer changes
|
||||
push_options: --force
|
||||
```
|
||||
|
||||
## Known Issues
|
||||
### No new workflows are triggered by the commit of this action
|
||||
|
||||
- GitHub currently prohibits Actions like this to push changes from a fork to the upstream repository. See [issue #25](https://github.com/stefanzweifel/git-auto-commit-action/issues/25) for more information.
|
||||
This is due to limitations set up by GitHub, [commits of this Action do not trigger new Workflow runs](#commits-of-this-action-do-not-trigger-new-workflow-runs).
|
||||
|
||||
## Versioning
|
||||
|
||||
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/stefanzweifel/git-auto-commit-action/tags).
|
||||
|
||||
We also provide major version tags to make it easier to always use the latest release of a major version. For example you can use `stefanzweifel/git-auto-commit-action@v4` to always use the latest release of the current major version.
|
||||
(More information about this [here](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md#major-versions).)
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/LICENSE) file for details.
|
||||
|
@@ -10,10 +10,11 @@ inputs:
|
||||
branch:
|
||||
description: Git branch name, where changes should be pushed too. Required if Action is used on the `pull_request` event
|
||||
required: false
|
||||
default: ''
|
||||
default: ${{ github.head_ref }}
|
||||
commit_options:
|
||||
description: Commit options (eg. --no-verify)
|
||||
required: false
|
||||
default: ''
|
||||
file_pattern:
|
||||
description: File pattern used for `git add`. For example `src/\*.js`
|
||||
required: false
|
||||
@@ -38,6 +39,10 @@ inputs:
|
||||
description: Message used to create a new git tag with the commit. Keep this empty, if no tag should be created.
|
||||
required: false
|
||||
default: ''
|
||||
push_options:
|
||||
description: Push options (eg. --force)
|
||||
required: false
|
||||
default: ''
|
||||
|
||||
outputs:
|
||||
changes_detected:
|
||||
|
@@ -7,7 +7,7 @@ _main() {
|
||||
|
||||
if _git_is_dirty; then
|
||||
|
||||
echo "::set-output name=changes_detected::true"
|
||||
echo "::set-output name=changes_detected::true";
|
||||
|
||||
_switch_to_branch
|
||||
|
||||
@@ -20,16 +20,16 @@ _main() {
|
||||
_push_to_github
|
||||
else
|
||||
|
||||
echo "::set-output name=changes_detected::false"
|
||||
echo "::set-output name=changes_detected::false";
|
||||
|
||||
echo "Working tree clean. Nothing to commit."
|
||||
echo "Working tree clean. Nothing to commit.";
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
_switch_to_repository() {
|
||||
echo "INPUT_REPOSITORY value: $INPUT_REPOSITORY";
|
||||
cd $INPUT_REPOSITORY
|
||||
cd $INPUT_REPOSITORY;
|
||||
}
|
||||
|
||||
_git_is_dirty() {
|
||||
@@ -40,17 +40,24 @@ _switch_to_branch() {
|
||||
echo "INPUT_BRANCH value: $INPUT_BRANCH";
|
||||
|
||||
# Switch to branch from current Workflow run
|
||||
git checkout $INPUT_BRANCH
|
||||
git checkout $INPUT_BRANCH;
|
||||
}
|
||||
|
||||
_add_files() {
|
||||
echo "INPUT_FILE_PATTERN: ${INPUT_FILE_PATTERN}"
|
||||
git add "${INPUT_FILE_PATTERN}"
|
||||
echo "INPUT_FILE_PATTERN: ${INPUT_FILE_PATTERN}";
|
||||
git add ${INPUT_FILE_PATTERN};
|
||||
}
|
||||
|
||||
_local_commit() {
|
||||
echo "INPUT_COMMIT_OPTIONS: ${INPUT_COMMIT_OPTIONS}"
|
||||
git -c user.name="$INPUT_COMMIT_USER_NAME" -c user.email="$INPUT_COMMIT_USER_EMAIL" commit -m "$INPUT_COMMIT_MESSAGE" --author="$INPUT_COMMIT_AUTHOR" ${INPUT_COMMIT_OPTIONS:+"$INPUT_COMMIT_OPTIONS"}
|
||||
echo "INPUT_COMMIT_OPTIONS: ${INPUT_COMMIT_OPTIONS}";
|
||||
echo "::debug::Apply commit options ${INPUT_COMMIT_OPTIONS}";
|
||||
|
||||
INPUT_COMMIT_OPTIONS_ARRAY=( $INPUT_COMMIT_OPTIONS );
|
||||
|
||||
git -c user.name="$INPUT_COMMIT_USER_NAME" -c user.email="$INPUT_COMMIT_USER_EMAIL" \
|
||||
commit -m "$INPUT_COMMIT_MESSAGE" \
|
||||
--author="$INPUT_COMMIT_AUTHOR" \
|
||||
${INPUT_COMMIT_OPTIONS:+"${INPUT_COMMIT_OPTIONS_ARRAY[@]}"};
|
||||
}
|
||||
|
||||
_tag_commit() {
|
||||
@@ -58,29 +65,35 @@ _tag_commit() {
|
||||
|
||||
if [ -n "$INPUT_TAGGING_MESSAGE" ]
|
||||
then
|
||||
echo "::debug::Create tag $INPUT_TAGGING_MESSAGE"
|
||||
git tag -a "$INPUT_TAGGING_MESSAGE" -m "$INPUT_TAGGING_MESSAGE"
|
||||
echo "::debug::Create tag $INPUT_TAGGING_MESSAGE";
|
||||
git -c user.name="$INPUT_COMMIT_USER_NAME" -c user.email="$INPUT_COMMIT_USER_EMAIL" tag -a "$INPUT_TAGGING_MESSAGE" -m "$INPUT_TAGGING_MESSAGE";
|
||||
else
|
||||
echo " No tagging message supplied. No tag will be added."
|
||||
echo " No tagging message supplied. No tag will be added.";
|
||||
fi
|
||||
}
|
||||
|
||||
_push_to_github() {
|
||||
|
||||
echo "INPUT_PUSH_OPTIONS: ${INPUT_PUSH_OPTIONS}";
|
||||
echo "::debug::Apply push options ${INPUT_PUSH_OPTIONS}";
|
||||
|
||||
INPUT_PUSH_OPTIONS_ARRAY=( $INPUT_PUSH_OPTIONS );
|
||||
|
||||
if [ -z "$INPUT_BRANCH" ]
|
||||
then
|
||||
# Only add `--tags` option, if `$INPUT_TAGGING_MESSAGE` is set
|
||||
if [ -n "$INPUT_TAGGING_MESSAGE" ]
|
||||
then
|
||||
echo "::debug::git push origin --tags"
|
||||
git push origin --tags
|
||||
echo "::debug::git push origin --tags";
|
||||
git push origin --tags ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
||||
else
|
||||
echo "::debug::git push origin"
|
||||
git push origin
|
||||
echo "::debug::git push origin";
|
||||
git push origin ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
||||
fi
|
||||
|
||||
else
|
||||
echo "::debug::Push commit to remote branch $INPUT_BRANCH"
|
||||
git push --set-upstream origin "HEAD:$INPUT_BRANCH" --tags
|
||||
echo "::debug::Push commit to remote branch $INPUT_BRANCH";
|
||||
git push --set-upstream origin "HEAD:$INPUT_BRANCH" --tags ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
||||
fi
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user