From 6fd8586fa7e9158ce51cba19c3b63830b35ce719 Mon Sep 17 00:00:00 2001 From: Jack Ye Date: Thu, 5 Feb 2026 15:57:45 -0800 Subject: [PATCH] fix: avoid force push in codex workflows to work with v0.95.0 git safety (#2981) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary - Codex CLI v0.95.0 ([PR #10258](https://github.com/openai/codex/pull/10258)) hardened git command safety so force push (`git push -f`, `--force`, `--force-with-lease`, `+refspec`) now requires approval, which blocks it in non-interactive `exec` mode. - This broke the [codex-update-lance-dependency](https://github.com/lancedb/lancedb/actions/runs/21727536000/job/62673436482) workflow — the job succeeded but failed to push the branch or create the PR. - Replace force push with `gh api` branch deletion followed by regular `git push`. - Also update the script to bump Java lance-core version which was missing previously ## Test plan - [x] Re-run the `Codex Update Lance Dependency` workflow with a test tag to verify the push and PR creation succeed: https://github.com/lancedb/lancedb/pull/2983 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.5 --- .../codex-update-lance-dependency.yml | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/codex-update-lance-dependency.yml b/.github/workflows/codex-update-lance-dependency.yml index 41d3b3068..383998bb5 100644 --- a/.github/workflows/codex-update-lance-dependency.yml +++ b/.github/workflows/codex-update-lance-dependency.yml @@ -86,16 +86,17 @@ jobs: You are running inside the lancedb repository on a GitHub Actions runner. Update the Lance dependency to version ${VERSION} and prepare a pull request for maintainers to review. Follow these steps exactly: - 1. Use script "ci/set_lance_version.py" to update Lance dependencies. The script already refreshes Cargo metadata, so allow it to finish even if it takes time. - 2. Run "cargo clippy --workspace --tests --all-features -- -D warnings". If diagnostics appear, fix them yourself and rerun clippy until it exits cleanly. Do not skip any warnings. - 3. After clippy succeeds, run "cargo fmt --all" to format the workspace. - 4. Ensure the repository is clean except for intentional changes. Inspect "git status --short" and "git diff" to confirm the dependency update and any required fixes. - 5. Create and switch to a new branch named "${BRANCH_NAME}" (replace any duplicated hyphens if necessary). - 6. Stage all relevant files with "git add -A". Commit using the message "${COMMIT_TYPE}: update lance dependency to v${VERSION}". - 7. Push the branch to origin. If the branch already exists, force-push your changes. - 8. env "GH_TOKEN" is available, use "gh" tools for github related operations like creating pull request. - 9. Create a pull request targeting "main" with title "${COMMIT_TYPE}: update lance dependency to v${VERSION}". First, write the PR body to /tmp/pr-body.md using a heredoc (cat <<'EOF' > /tmp/pr-body.md). The body should summarize the dependency bump, clippy/fmt verification, and link the triggering tag (${TAG}). Then run "gh pr create --body-file /tmp/pr-body.md". - 10. After creating the PR, display the PR URL, "git status --short", and a concise summary of the commands run and their results. + 1. Use script "ci/set_lance_version.py" to update Lance Rust dependencies. The script already refreshes Cargo metadata, so allow it to finish even if it takes time. + 2. Update the Java lance-core dependency version in "java/pom.xml": change the "..." property to "${VERSION}". + 3. Run "cargo clippy --workspace --tests --all-features -- -D warnings". If diagnostics appear, fix them yourself and rerun clippy until it exits cleanly. Do not skip any warnings. + 4. After clippy succeeds, run "cargo fmt --all" to format the workspace. + 5. Ensure the repository is clean except for intentional changes. Inspect "git status --short" and "git diff" to confirm the dependency update and any required fixes. + 6. Create and switch to a new branch named "${BRANCH_NAME}" (replace any duplicated hyphens if necessary). + 7. Stage all relevant files with "git add -A". Commit using the message "${COMMIT_TYPE}: update lance dependency to v${VERSION}". + 8. Push the branch to origin. If the remote branch already exists, delete it first with "gh api -X DELETE repos/lancedb/lancedb/git/refs/heads/${BRANCH_NAME}" then push with "git push origin ${BRANCH_NAME}". Do NOT use "git push --force" or "git push -f". + 9. env "GH_TOKEN" is available, use "gh" tools for github related operations like creating pull request. + 10. Create a pull request targeting "main" with title "${COMMIT_TYPE}: update lance dependency to v${VERSION}". First, write the PR body to /tmp/pr-body.md using a heredoc (cat <<'EOF' > /tmp/pr-body.md). The body should summarize the dependency bump, clippy/fmt verification, and link the triggering tag (${TAG}). Then run "gh pr create --body-file /tmp/pr-body.md". + 11. After creating the PR, display the PR URL, "git status --short", and a concise summary of the commands run and their results. Constraints: - Use bash commands; avoid modifying GitHub workflow files other than through the scripted task above.