coure2011
coure2011

Reputation: 42454

github action push not adding new commit to the branch

I have a workflow like this, where myFile.js is updating one file

- name: Custom action
    run: yarn myFile.js
      
- name: Commit diff
    run: |
      git add .
      git status
      git commit -m "Updating file"
      git status
      git push -u origin origin/${{ github.head_ref }}

Here is the output (successful)

git add .
  git status
  git commit -m "Updating file"
  git status
  git push -u origin origin/Feature/custom-patch
  git status
  shell: /usr/bin/bash -e {0}
  env:
    NODE_OPTIONS: --max_old_space_size=4096
HEAD detached at pull/95/merge
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    modified:   src/123.json

[detached HEAD 9c7a0fd55] Updating file
 1 file changed, 2 insertions(+), 2 deletions(-)
HEAD detached from pull/95/merge
nothing to commit, working tree clean
To https://github.com/company/myRepo
   35ae5b522..755d05e91  origin/Feature/custom-patch -> origin/Feature/custom-patch
HEAD detached from pull/95/merge
nothing to commit, working tree clean

Upvotes: 1

Views: 1971

Answers (1)

Alexander Ciesielski
Alexander Ciesielski

Reputation: 10834

You need to tell the checkout action to fetch the whole state of commits and tell it specifically to checkout the branch.

Otherwise by default it just checks out the single last commit (which is called a detached HEAD).

- uses: actions/checkout@v2
  with:
    fetch-depth: 0
    ref: ${{ github.event.pull_request.head.ref }}

Upvotes: 1

Related Questions