"nothing to commit, working tree clean Error: Invalid status code: 1" despite `skip_dirty_check`

Open
#396 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Stale
Tech stack
git, github-actions, shell
Domain
ci-cd, devops

Research direction

Reproduce the issue using .github/workflows/tag-version.yml and the tag-version-this-repo.yml workflow, then inspect index.js around the ChildProcess status handling shown in the stack trace. Compare the v7.0.0 behavior with v6.0.1 and issue 204; done means an empty merge followed by skip_dirty_check succeeds without the invalid status code error.

Written by the indexing model from the issue text.

Description

bug
git-auto-commit Version

v7.0.0

Machine Type

Ubuntu (eg. ubuntu-latest)

Bug description

Despite skip_dirty_check: true, with v7.0.0 pushing an empty commit causes the following error:

nothing to commit, working tree clean
Error: Invalid status code: 1
    at ChildProcess.<anonymous> (/home/runner/work/_actions/stefanzweifel/git-auto-commit-action/28e16e81777b558cc906c8750092100bbb34c5e3/index.js:17:19)
    at ChildProcess.emit (node:events:508:28)
    at maybeClose (node:internal/child_process:1101:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5) {
  code: 1
}
Error: Invalid status code: 1
    at ChildProcess.<anonymous> (/home/runner/work/_actions/stefanzweifel/git-auto-commit-action/28e16e81777b558cc906c8750092100bbb34c5e3/index.js:17:19)
    at ChildProcess.emit (node:events:508:28)
    at maybeClose (node:internal/child_process:1101:16)
    at ChildProcess._handle.onexit (node:internal/child_process:305:5)

This is a regression with v7.0.0. With v6.0.1 this used to work. Here's a succeeding run with v6: https://github.com/Lombiq/GitHub-Actions/actions/runs/17049708039. And here's a failing one with v7: https://github.com/Lombiq/GitHub-Actions/actions/runs/18795730636/job/53635182329.

https://github.com/stefanzweifel/git-auto-commit-action/issues/204 might be related.

Steps to reproduce
  1. In your workflow, run git merge --strategy=ours --no-commit some-other-branch. This merges some-other-branch but leaving no changed files.
  2. Run the action with the below code.
  3. Observe the error mentioned above.
- uses: stefanzweifel/git-auto-commit-action@28e16e81777b558cc906c8750092100bbb34c5e3 # v7.0.0
  with:
    skip_dirty_check: true
Tried solutions

Since this is an infrequently run workflow, I just merged manually. Pushing directly with git would be an alternative.

Example Workflow
The whole workflow is here: https://github.com/Lombiq/GitHub-Actions/blob/342f3f003b75f8915c8c8311f67426971e798a52/.github/workflows/tag-version.yml (run from https://github.com/Lombiq/GitHub-Actions/blob/342f3f003b75f8915c8c8311f67426971e798a52/.github/workflows/tag-version-this-repo.yml).
Relevant log output
See above.
Repository

https://github.com/Lombiq/GitHub-Actions

Dominant language
Shell
Stars
2.6k
Forks
284
Avg merge
3h 47m
Merged PRs (30d)
1

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.