Compare commits

..

17 Commits

Author SHA1 Message Date
Stefan Zweifel
90282bf5e2 Release v4.4.0 2020-06-26 21:07:28 +02:00
Stefan Zweifel
c9eb2132b2 Merge pull request #84 from stefanzweifel/feature/skip-dirty-check
Add a "Skip Dirty Check" Option
2020-06-26 21:02:58 +02:00
Stefan Zweifel
c8ded2885e Simplify IF Condition 2020-06-26 21:00:48 +02:00
Stefan Zweifel
f120678ed1 WIP 2020-06-25 20:40:31 +02:00
Stefan Zweifel
4183594932 WIP 2020-06-25 20:38:28 +02:00
Stefan Zweifel
49e28abb3f WIP 2020-06-25 20:31:48 +02:00
Stefan Zweifel
4ebfe28af0 Add skip_dirty_check option 2020-06-25 20:18:20 +02:00
Stefan Zweifel
984a26d893 Update link to versioning info in README 2020-05-17 10:20:34 +02:00
Stefan Zweifel
3804c79d2e Add Versioning GitHub Actions 2020-05-17 10:08:37 +02:00
Stefan Zweifel
69a12041a1 Release v4.3.0 2020-05-16 13:47:17 +02:00
Stefan Zweifel
91b7d20ead Merge pull request #78 from stefanzweifel/feature/push-options
Feature: Push Options
2020-05-16 13:30:24 +02:00
Stefan Zweifel
044b6b777c Fix Typo 2020-05-16 13:26:59 +02:00
Stefan Zweifel
9aab2f8a5c Add example for protected branches 2020-05-16 13:22:34 +02:00
Stefan Zweifel
0280d2ccee Add push_options to README 2020-05-16 13:17:00 +02:00
Stefan Zweifel
b0b5ed34dd Update entrypoint to handle push_options 2020-05-16 11:42:40 +02:00
Stefan Zweifel
ae38c94802 Add push_options to action.yml 2020-05-16 11:42:24 +02:00
Stefan Zweifel
3aae7bb63f Remove continous-deployment.yml 2020-05-16 11:24:57 +02:00
6 changed files with 76 additions and 41 deletions

View File

@@ -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 }}"

15
.github/workflows/versioning.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: Keep the versions up-to-date
on:
release:
types: [published, edited]
jobs:
actions-tagger:
runs-on: windows-latest
steps:
- uses: Actions-R-Us/actions-tagger@latest
env:
GITHUB_TOKEN: "${{secrets.GITHUB_TOKEN}}"
with:
- publish_latest_tag: true

View File

@@ -4,14 +4,29 @@ 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.2.0...HEAD)
## [Unreleased](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.4.0...HEAD)
> TBD
## [v4.4.0](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.3.0...v4.4.0) - 2020-06-26
### Added
- Add option to skipt the dirty check and always try to create and push a commit [#82](https://github.com/stefanzweifel/git-auto-commit-action/issues/82), [#84](https://github.com/stefanzweifel/git-auto-commit-action/pull/84)
## [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
### 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)
@@ -70,7 +85,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Added
- Add `commit_user_name`, `commit_user_email` and `commit_author` input options for full customzation on how the commit is being created [#39](https://github.com/stefanzweifel/git-auto-commit-action/pull/39)
### Changed
### Changed
- Make the `branch` input option optional [#41](https://github.com/stefanzweifel/git-auto-commit-action/pull/41)
### Removed

View File

@@ -13,7 +13,7 @@ This Action has been inspired and adapted from the [auto-commit](https://github.
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.2.0
- uses: stefanzweifel/git-auto-commit-action@v4
with:
# Required
commit_message: Apply automatic changes
@@ -21,7 +21,7 @@ Add the following step at the end of your job, after other steps that might add
# 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
@@ -38,6 +38,12 @@ Add the following step at the end of your job, after other steps that might add
# 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'
# Optional: Disable dirty check and always try to create a commit and push
skip_dirty_check: true
```
## Example
@@ -68,7 +74,7 @@ jobs:
- name: Run php-cs-fixer
uses: docker://oskarstark/php-cs-fixer-ga
- uses: stefanzweifel/git-auto-commit-action@v4.2.0
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Apply php-cs-fixer changes
```
@@ -132,6 +138,19 @@ please update your Workflow configuration and usage of [`actions/checkout`](http
Updating the `token` value with a Personal Access Token should fix your issues.
## 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
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Apply php-cs-fixer changes
push_options: --force
```
### No new workflows are triggered by the commit of this action
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).
@@ -140,6 +159,9 @@ This is due to limitations set up by GitHub, [commits of this Action do not trig
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://help.github.com/en/actions/building-actions/about-actions#versioning-your-action).)
## 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.

View File

@@ -39,6 +39,14 @@ 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: ''
skip_dirty_check:
description: Skip the check if the git repository is dirty and always try to create a commit.
required: false
default: false
outputs:
changes_detected:

View File

@@ -5,7 +5,7 @@ set -eu
_main() {
_switch_to_repository
if _git_is_dirty; then
if _git_is_dirty || "$INPUT_SKIP_DIRTY_CHECK"; then
echo "::set-output name=changes_detected::true";
@@ -73,21 +73,27 @@ _tag_commit() {
}
_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;
git push origin --tags ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
else
echo "::debug::git push origin";
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;
git push --set-upstream origin "HEAD:$INPUT_BRANCH" --tags ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
fi
}