Skip to content

GitHub Action

Skip based on commit message

1.0.0 Latest version
Use latest version

Skip based on commit message

Common filters to stop workflows


Copy and paste the following snippet into your .yml file.

- name: Skip based on commit message
  uses: veggiemonk/skip-commit@1.0.0
Learn more about this action in veggiemonk/skip-commit
Choose a version

GitHub Actions to skip based on commit message

If the last commit message contains the string skip-ci, the action will stop.

Just use YAML (recommended)

Thank to @smnbbrv who kindly shared this solution with us here

    name: Build and test
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, 'ci skip')"

Just use BASH

  - name: should it be skipped?
      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"
        echo "the last commit log \"$last_commit_log\" contains \"$COMMIT_FILTER\", stopping"
        exit 78

Or use the container (not recommended / deprecated)

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"
You can’t perform that action at this time.