From 5d32284fe062a5f065082cbc6641d8d4a0d86faa Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Fri, 15 May 2026 19:59:07 +0000 Subject: [PATCH] chore: fix git submodule update command Update the README and CI workflow to use `git submodule update --remote --recursive` instead of `--merge`. The `--merge` flag creates merge commits inside the submodules, which breaks in GitHub Actions with "Committer identity unknown" if git user/email are not configured before the submodule step. Using `--recursive` correctly performs a detached HEAD checkout at the latest commit of the tracked branch without needing an identity until we commit the pointer change to the superproject. Co-authored-by: manupawickramasinghe <73810867+manupawickramasinghe@users.noreply.github.com> --- .github/workflows/update-submodules.yml | 15 ++++++--------- vendor/README.md | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/.github/workflows/update-submodules.yml b/.github/workflows/update-submodules.yml index 99f55a3ecf..1ffb80ea61 100644 --- a/.github/workflows/update-submodules.yml +++ b/.github/workflows/update-submodules.yml @@ -19,15 +19,6 @@ jobs: fetch-depth: 0 token: ${{ secrets.GITHUB_TOKEN }} - # Identity must be set BEFORE any operation that can create a commit. - # `git submodule update --remote --merge` used to fail here with - # "Committer identity unknown" because the merge inside vendor/ruvector - # needs an author when the pinned commit isn't a fast-forward of upstream. - - name: Configure git identity - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" - # Use a plain `--remote` checkout (detached HEAD at each submodule's # configured `branch` tip from .gitmodules) rather than `--merge`. We only # want to bump the superproject's gitlink to the latest upstream commit; @@ -38,6 +29,12 @@ jobs: git submodule sync --recursive git submodule update --remote --recursive + # Identity must be set BEFORE any operation that can create a commit. + - name: Configure git identity + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" + - name: Check for changes id: check run: | diff --git a/vendor/README.md b/vendor/README.md index 1a5c6e395a..df2fda917b 100644 --- a/vendor/README.md +++ b/vendor/README.md @@ -27,7 +27,7 @@ git clone --recurse-submodules https://github.com/ruvnet/RuView.git ## Update to latest upstream ```bash -git submodule update --remote --merge +git submodule update --remote --recursive git add vendor/ git commit -m "chore: update vendor submodules" ```