mirror of
https://github.com/stefanzweifel/git-auto-commit-action.git
synced 2025-08-03 00:56:08 +08:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
be7095c202 | ||
|
ae9ae1b5b8 | ||
|
e944668910 | ||
|
9bb0fd2324 | ||
|
175c2cd836 |
@@ -4,10 +4,15 @@ 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/)
|
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).
|
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.9.1...HEAD)
|
## [Unreleased](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.2...HEAD)
|
||||||
|
|
||||||
> TBD
|
> TBD
|
||||||
|
|
||||||
|
## [v4.9.2](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.1...v4.9.2) - 2021-03-04
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
- Push created annotated tags to remote by using `--follow-tags` and `--atomic` instead of just `--tags` [#146](https://github.com/stefanzweifel/git-auto-commit-action/pull/146)
|
||||||
|
|
||||||
|
|
||||||
## [v4.9.1](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.0...v4.9.1) - 2021-02-23
|
## [v4.9.1](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.9.0...v4.9.1) - 2021-02-23
|
||||||
|
|
||||||
|
@@ -104,7 +104,7 @@ _push_to_github() {
|
|||||||
if [ -n "$INPUT_TAGGING_MESSAGE" ]
|
if [ -n "$INPUT_TAGGING_MESSAGE" ]
|
||||||
then
|
then
|
||||||
echo "::debug::git push origin --tags";
|
echo "::debug::git push origin --tags";
|
||||||
git push origin --tags ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
git push origin --follow-tags --atomic ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
||||||
else
|
else
|
||||||
echo "::debug::git push origin";
|
echo "::debug::git push origin";
|
||||||
git push origin ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
git push origin ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
||||||
@@ -112,7 +112,7 @@ _push_to_github() {
|
|||||||
|
|
||||||
else
|
else
|
||||||
echo "::debug::Push commit to remote branch $INPUT_BRANCH";
|
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[@]}"};
|
git push --set-upstream origin "HEAD:$INPUT_BRANCH" --follow-tags --atomic ${INPUT_PUSH_OPTIONS:+"${INPUT_PUSH_OPTIONS_ARRAY[@]}"};
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -225,6 +225,13 @@ git_auto_commit() {
|
|||||||
|
|
||||||
run git ls-remote --tags --refs
|
run git ls-remote --tags --refs
|
||||||
assert_output --partial refs/tags/v1.0.0
|
assert_output --partial refs/tags/v1.0.0
|
||||||
|
|
||||||
|
# Assert that the commit has been pushed with --force and
|
||||||
|
# sha values are equal on local and remote
|
||||||
|
current_sha="$(git rev-parse --verify --short master)"
|
||||||
|
remote_sha="$(git rev-parse --verify --short origin/master)"
|
||||||
|
|
||||||
|
assert_equal $current_sha $remote_sha
|
||||||
}
|
}
|
||||||
|
|
||||||
@test "It applies INPUT_PUSH_OPTIONS when pushing commit to remote" {
|
@test "It applies INPUT_PUSH_OPTIONS when pushing commit to remote" {
|
||||||
@@ -331,3 +338,65 @@ git_auto_commit() {
|
|||||||
|
|
||||||
assert_line "::debug::git-fetch has not been executed"
|
assert_line "::debug::git-fetch has not been executed"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "It pushes generated commit and tag to remote and actually updates the commit shas" {
|
||||||
|
INPUT_BRANCH=""
|
||||||
|
INPUT_TAGGING_MESSAGE="v2.0.0"
|
||||||
|
|
||||||
|
touch "${FAKE_LOCAL_REPOSITORY}"/new-file-{1,2,3}.txt
|
||||||
|
|
||||||
|
run git_auto_commit
|
||||||
|
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
assert_line "INPUT_TAGGING_MESSAGE: v2.0.0"
|
||||||
|
assert_line "::debug::Create tag v2.0.0"
|
||||||
|
assert_line "::debug::git push origin --tags"
|
||||||
|
|
||||||
|
# Assert a tag v2.0.0 has been created
|
||||||
|
run git tag
|
||||||
|
assert_output v2.0.0
|
||||||
|
|
||||||
|
# Assert tag v2.0.0 has been pushed to remote
|
||||||
|
run git ls-remote --tags --refs
|
||||||
|
assert_output --partial refs/tags/v2.0.0
|
||||||
|
|
||||||
|
# Assert that branch "master" was updated on remote
|
||||||
|
current_sha="$(git rev-parse --verify --short master)"
|
||||||
|
remote_sha="$(git rev-parse --verify --short origin/master)"
|
||||||
|
|
||||||
|
assert_equal $current_sha $remote_sha
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "It pushes generated commit and tag to remote branch and updates commit sha" {
|
||||||
|
# Create "a-new-branch"-branch and then immediately switch back to master
|
||||||
|
git checkout -b a-new-branch
|
||||||
|
git checkout master
|
||||||
|
|
||||||
|
INPUT_BRANCH="a-new-branch"
|
||||||
|
INPUT_TAGGING_MESSAGE="v2.0.0"
|
||||||
|
|
||||||
|
touch "${FAKE_LOCAL_REPOSITORY}"/new-file-{1,2,3}.txt
|
||||||
|
|
||||||
|
run git_auto_commit
|
||||||
|
|
||||||
|
assert_success
|
||||||
|
|
||||||
|
assert_line "INPUT_TAGGING_MESSAGE: v2.0.0"
|
||||||
|
assert_line "::debug::Create tag v2.0.0"
|
||||||
|
assert_line "::debug::Push commit to remote branch a-new-branch"
|
||||||
|
|
||||||
|
# Assert a tag v2.0.0 has been created
|
||||||
|
run git tag
|
||||||
|
assert_output v2.0.0
|
||||||
|
|
||||||
|
# Assert tag v2.0.0 has been pushed to remote
|
||||||
|
run git ls-remote --tags --refs
|
||||||
|
assert_output --partial refs/tags/v2.0.0
|
||||||
|
|
||||||
|
# Assert that branch "a-new-branch" was updated on remote
|
||||||
|
current_sha="$(git rev-parse --verify --short a-new-branch)"
|
||||||
|
remote_sha="$(git rev-parse --verify --short origin/a-new-branch)"
|
||||||
|
|
||||||
|
assert_equal $current_sha $remote_sha
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user