Skip based on commit message
ActionsTags
(2)If the last commit message contains the string skip-ci
, the action will stop.
You might want to check out this repository: https://github.com/styfle/cancel-workflow-action
Thank to @smnbbrv who kindly shared this solution with us here
jobs:
main:
name: Build and test
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
- name: should it be skipped?
env:
COMMIT_FILTER: "skip-ci"
run: |
# Get last commit message
readonly local last_commit_log=$(git log -1 --pretty=format:"%s")
echo "last commit log: $last_commit_log"
readonly local filter_count=$(echo "$last_commit_log" | grep -c "$COMMIT_FILTER" )
echo "number of occurence of '$COMMIT_FILTER' in '$last_commit_log': $filter_count"
if [[ "$filter_count" -eq 0 ]]; then
echo "all good, continue"
else
echo "the last commit log \"$last_commit_log\" contains \"$COMMIT_FILTER\", stopping"
exit 78
fi
If a commit message contains a string defined as the environment variable $COMMIT_FILTER
, the action will stop.
For example:
action "Skip" {
uses = "veggiemonk/skip-commit@master"
env = {
COMMIT_FILTER = "skip-ci"
}
}
Skip based on commit message is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.