mirror of
https://github.com/stefanzweifel/git-auto-commit-action.git
synced 2025-04-20 08:49:42 +08:00
Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
af302a9c63 | ||
|
b863ae1933 | ||
|
adb37b5a29 | ||
|
8480c68cbb | ||
|
4f8f3ad16e | ||
|
11a6e5f38f | ||
|
35d037abf5 | ||
|
bf425dc136 | ||
|
cfd6ac4a3b | ||
|
19379b46c9 | ||
|
12e100dacb | ||
|
2ac10431a8 | ||
|
4db797a961 | ||
|
e256565ae5 | ||
|
8a23be4b32 | ||
|
c86fa26bed | ||
|
e35726034b |
30
CHANGELOG.md
30
CHANGELOG.md
@ -5,10 +5,38 @@ 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/v5.0.1...HEAD)
|
||||
## [Unreleased](https://github.com/stefanzweifel/git-auto-commit-action/compare/v5.2.0...HEAD)
|
||||
|
||||
> TBD
|
||||
|
||||
## [v5.2.0](https://github.com/stefanzweifel/git-auto-commit-action/compare/v5.1.0...v5.2.0) - 2025-04-19
|
||||
|
||||
### Added
|
||||
|
||||
- Add `create_git_tag_only` option to skip commiting and always create a git-tag. ([#364](https://github.com/stefanzweifel/git-auto-commit-action/pull/364)) [@zMynxx](https://github.com/@zMynxx)
|
||||
- Add Test for `create_git_tag_only` feature ([#367](https://github.com/stefanzweifel/git-auto-commit-action/pull/367)) [@stefanzweifel](https://github.com/@stefanzweifel)
|
||||
|
||||
### Fixed
|
||||
|
||||
- docs: Update README.md per #354 ([#361](https://github.com/stefanzweifel/git-auto-commit-action/pull/361)) [@rasa](https://github.com/@rasa)
|
||||
|
||||
## [v5.1.0](https://github.com/stefanzweifel/git-auto-commit-action/compare/v5.0.1...v5.1.0) - 2025-01-11
|
||||
|
||||
### Changed
|
||||
|
||||
- Include `github.actor_id` in default `commit_author` ([#354](https://github.com/stefanzweifel/git-auto-commit-action/pull/354)) [@parkerbxyz](https://github.com/@parkerbxyz)
|
||||
|
||||
### Fixed
|
||||
|
||||
- docs(README): fix broken protected branch docs link ([#346](https://github.com/stefanzweifel/git-auto-commit-action/pull/346)) [@scarf005](https://github.com/@scarf005)
|
||||
- Update README.md ([#343](https://github.com/stefanzweifel/git-auto-commit-action/pull/343)) [@Kludex](https://github.com/@Kludex)
|
||||
|
||||
### Dependency Updates
|
||||
|
||||
- Bump bats from 1.11.0 to 1.11.1 ([#353](https://github.com/stefanzweifel/git-auto-commit-action/pull/353)) [@dependabot](https://github.com/@dependabot)
|
||||
- Bump github/super-linter from 6 to 7 ([#342](https://github.com/stefanzweifel/git-auto-commit-action/pull/342)) [@dependabot](https://github.com/@dependabot)
|
||||
- Bump github/super-linter from 5 to 6 ([#335](https://github.com/stefanzweifel/git-auto-commit-action/pull/335)) [@dependabot](https://github.com/@dependabot)
|
||||
|
||||
## [v5.0.1](https://github.com/stefanzweifel/git-auto-commit-action/compare/v5.0.0...v5.0.1) - 2024-04-12
|
||||
|
||||
### Fixed
|
||||
|
@ -85,7 +85,7 @@ The following is an extended example with all available options.
|
||||
# Optional commit user and author settings
|
||||
commit_user_name: My GitHub Actions Bot # defaults to "github-actions[bot]"
|
||||
commit_user_email: my-github-actions-bot@example.org # defaults to "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
commit_author: Author <actions@github.com> # defaults to "username <username@users.noreply.github.com>", where "username" belongs to the author of the commit that triggered the run
|
||||
commit_author: Author <actions@github.com> # defaults to "username <numeric_id+username@users.noreply.github.com>", where "numeric_id" and "username" belong to the author of the commit that triggered the run
|
||||
|
||||
# Optional. Tag name being created in the local repository and
|
||||
# pushed to remote repository and defined branch.
|
||||
@ -118,6 +118,10 @@ The following is an extended example with all available options.
|
||||
|
||||
# Optional. Create given branch name in local and remote repository.
|
||||
create_branch: true
|
||||
|
||||
# Optional. Creates a new tag and pushes it to remote without creating a commit.
|
||||
# Skips dirty check and changed files. Must be used with `tagging_message`.
|
||||
create_git_tag_only: false
|
||||
```
|
||||
|
||||
Please note that the Action depends on `bash`. If you're using the Action in a job in combination with a custom Docker container, make sure that `bash` is installed.
|
||||
@ -169,6 +173,7 @@ You can use these outputs to trigger other Actions in your Workflow run based on
|
||||
|
||||
- `changes_detected`: Returns either "true" or "false" if the repository was dirty and files have changed.
|
||||
- `commit_hash`: Returns the full hash of the commit if one was created.
|
||||
- `create_git_tag_only`: Returns either "true" or "false" if a tag was created, when `create_git_tag_only` was used.
|
||||
|
||||
**⚠️ When using outputs, the step needs to be given an id. See example below.**
|
||||
|
||||
|
@ -70,6 +70,10 @@ inputs:
|
||||
create_branch:
|
||||
description: Create new branch with the name of `branch`-input in local and remote repository, if it doesn't exist yet.
|
||||
default: false
|
||||
create_git_tag_only:
|
||||
description: Perform a clean git tag and push, without commiting anything
|
||||
required: false
|
||||
default: false
|
||||
internal_git_binary:
|
||||
description: Internal use only! Path to git binary used to check if git is available. (Don't change this!)
|
||||
default: git
|
||||
@ -79,6 +83,8 @@ outputs:
|
||||
description: Value is "true", if the repository was dirty and file changes have been detected. Value is "false", if no changes have been detected.
|
||||
commit_hash:
|
||||
description: Full hash of the created commit. Only present if the "changes_detected" output is "true".
|
||||
create_git_tag_only:
|
||||
description: Value is "true", if a git tag was created using the `create_git_tag_only`-input.
|
||||
|
||||
runs:
|
||||
using: 'node20'
|
||||
|
@ -30,8 +30,12 @@ _main() {
|
||||
_check_if_git_is_available
|
||||
|
||||
_switch_to_repository
|
||||
|
||||
if _git_is_dirty || "$INPUT_SKIP_DIRTY_CHECK"; then
|
||||
if "$INPUT_CREATE_GIT_TAG_ONLY"; then
|
||||
_log "debug" "Create git tag only";
|
||||
_set_github_output "create_git_tag_only" "true"
|
||||
_tag_commit
|
||||
_push_to_github
|
||||
elif _git_is_dirty || "$INPUT_SKIP_DIRTY_CHECK"; then
|
||||
|
||||
_set_github_output "changes_detected" "true"
|
||||
|
||||
|
35
package-lock.json
generated
Normal file
35
package-lock.json
generated
Normal file
@ -0,0 +1,35 @@
|
||||
{
|
||||
"name": "git-auto-commit-action",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"devDependencies": {
|
||||
"bats": "^1.11.1",
|
||||
"bats-assert": "ztombol/bats-assert",
|
||||
"bats-support": "ztombol/bats-support"
|
||||
}
|
||||
},
|
||||
"node_modules/bats": {
|
||||
"version": "1.11.1",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"bats": "bin/bats"
|
||||
}
|
||||
},
|
||||
"node_modules/bats-assert": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "git+ssh://git@github.com/ztombol/bats-assert.git#9f88b4207da750093baabc4e3f41bf68f0dd3630",
|
||||
"dev": true,
|
||||
"peerDependencies": {
|
||||
"bats-support": "git+https://github.com/ztombol/bats-support.git#v0.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/bats-support": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "git+ssh://git@github.com/ztombol/bats-support.git#004e707638eedd62e0481e8cdc9223ad471f12ee",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
@ -21,6 +21,7 @@ setup() {
|
||||
export FAKE_DEFAULT_BRANCH=$(git config init.defaultBranch)
|
||||
|
||||
# Set default INPUT variables used by the GitHub Action
|
||||
export INPUT_CREATE_GIT_TAG_ONLY=false
|
||||
export INPUT_REPOSITORY="${FAKE_LOCAL_REPOSITORY}"
|
||||
export INPUT_COMMIT_MESSAGE="Commit Message"
|
||||
export INPUT_BRANCH="${FAKE_DEFAULT_BRANCH}"
|
||||
@ -1125,3 +1126,54 @@ END
|
||||
assert_failure;
|
||||
assert_line "::error::git-status failed with:<fatal: not a git repository (or any of the parent directories): .git>"
|
||||
}
|
||||
|
||||
@test "it creates a tag if create_git_tag_only is set to true and a message has been supplied" {
|
||||
INPUT_CREATE_GIT_TAG_ONLY=true
|
||||
INPUT_TAGGING_MESSAGE=v1.0.0
|
||||
|
||||
run git_auto_commit
|
||||
|
||||
assert_success
|
||||
|
||||
assert_line "::debug::Create git tag only"
|
||||
|
||||
assert_line "::debug::Create tag v1.0.0"
|
||||
refute_line "No tagging message supplied. No tag will be added."
|
||||
|
||||
assert_line "::debug::Apply push options "
|
||||
assert_line "::debug::Push commit to remote branch ${FAKE_DEFAULT_BRANCH}"
|
||||
|
||||
run cat_github_output
|
||||
assert_line "create_git_tag_only=true"
|
||||
refute_line "changes_detected=false"
|
||||
refute_line -e "commit_hash=[0-9a-f]{40}$"
|
||||
|
||||
# Assert a tag v1.0.0 has been created
|
||||
run git tag
|
||||
assert_output v1.0.0
|
||||
|
||||
run git ls-remote --tags --refs
|
||||
assert_output --partial refs/tags/v1.0.0
|
||||
}
|
||||
|
||||
@test "it output no tagging message supplied if no tagging message is set but create_git_tag_only is set to true" {
|
||||
INPUT_CREATE_GIT_TAG_ONLY=true
|
||||
INPUT_TAGGING_MESSAGE=""
|
||||
|
||||
run git_auto_commit
|
||||
|
||||
assert_success
|
||||
|
||||
assert_line "INPUT_TAGGING_MESSAGE: "
|
||||
assert_line "No tagging message supplied. No tag will be added."
|
||||
assert_line "::debug::Create git tag only"
|
||||
|
||||
run cat_github_output
|
||||
assert_line "create_git_tag_only=true"
|
||||
refute_line "changes_detected=false"
|
||||
refute_line -e "commit_hash=[0-9a-f]{40}$"
|
||||
|
||||
# Assert no tag has been created
|
||||
run git tag
|
||||
assert_output ""
|
||||
}
|
||||
|
16
yarn.lock
16
yarn.lock
@ -1,16 +0,0 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
bats-assert@ztombol/bats-assert:
|
||||
version "0.3.0"
|
||||
resolved "https://codeload.github.com/ztombol/bats-assert/tar.gz/9f88b4207da750093baabc4e3f41bf68f0dd3630"
|
||||
|
||||
bats-support@ztombol/bats-support:
|
||||
version "0.3.0"
|
||||
resolved "https://codeload.github.com/ztombol/bats-support/tar.gz/004e707638eedd62e0481e8cdc9223ad471f12ee"
|
||||
|
||||
bats@^1.11.1:
|
||||
version "1.11.1"
|
||||
resolved "https://registry.yarnpkg.com/bats/-/bats-1.11.1.tgz#e87fa1161d5110ec3a685e2e233f2f2bfb26ebfd"
|
||||
integrity sha512-Dh26FsiLog+wwQeTkboYo2xYj9rUaPEbibUobnYb3G3M9hva/Kby00wrAN9VB9qqGVhl/pYjjt/LVBWwjXlD2A==
|
Loading…
x
Reference in New Issue
Block a user