-
Notifications
You must be signed in to change notification settings - Fork 25
Resolve pure add/add pin conflicts automatically, and pin the slim kimi-k3 PR #71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -280,9 +280,26 @@ jobs: | |
| if ! git rev-parse --verify -q "${SHA}^{commit}" >/dev/null; then | ||
| echo "fetched something for ${SRC}#${NUM} but ${SHA} is still missing" >&2; exit 1 | ||
| fi | ||
| git -c user.name='github-actions[bot]' -c user.email='41898282+github-actions[bot]@users.noreply.github.com' \ | ||
| merge --no-ff --no-edit -m "Merge ${SRC}#${NUM} @ ${SHA}" "$SHA" \ | ||
| || { echo "${SRC}#${NUM} (${SHA}) does not merge cleanly onto ${BASE} + the PRs listed before it; reorder or drop it in scripts/unsloth/pr-set.json" >&2; exit 1; } | ||
| # diff3 so additive_merge.py can see the merge base and refuse | ||
| # anything that is not a pure add/add. | ||
| if ! git -c user.name='github-actions[bot]' -c user.email='41898282+github-actions[bot]@users.noreply.github.com' \ | ||
| -c merge.conflictStyle=diff3 \ | ||
| merge --no-ff --no-edit -m "Merge ${SRC}#${NUM} @ ${SHA}" "$SHA"; then | ||
| # The recurring conflict is two PRs adding a line to the same | ||
| # architecture table, where the answer is always "keep both". | ||
| # additive_merge.py resolves only that, and refuses when | ||
| # either side edited existing text, so a real disagreement | ||
| # still hard-fails here rather than being papered over. | ||
| if python3 scripts/unsloth/additive_merge.py \ | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
For an order-sensitive add/add conflict, this caller reverses the intended resolution order. Git's Useful? React with 👍 / 👎. |
||
| && [ -z "$(git diff --name-only --diff-filter=U)" ]; then | ||
| git -c user.name='github-actions[bot]' -c user.email='41898282+github-actions[bot]@users.noreply.github.com' \ | ||
| commit -q --no-edit | ||
| echo "::warning::${SRC}#${NUM} needed an additive merge; every conflict was a pure add/add and both sides were kept" | ||
| else | ||
| git merge --abort 2>/dev/null | ||
| echo "${SRC}#${NUM} (${SHA}) does not merge cleanly onto ${BASE} + the PRs listed before it; reorder or drop it in scripts/unsloth/pr-set.json" >&2; exit 1 | ||
| fi | ||
| fi | ||
| done < <(jq -r '.[] | "\(.repo) \(.number) \(.sha)"' <<<"$PRS") | ||
| else | ||
| # Plain build: only the base tree is needed. Shallow is fine -- the | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On every conflicted mix merge, this invocation cannot find the resolver: earlier the workflow runs
git checkout --detach refs/tags/${BASE}, whereBASEis fetched fromggml-org/llama.cpp, so the fork-onlyscripts/unsloth/additive_merge.pyfile is removed from the worktree.python3therefore exits without resolving anything, the condition enters the abort branch, and the nightly still fails for the exact add/add conflicts this change intends to handle. Copy the resolver to a stable location such asRUNNER_TEMPbefore the upstream checkout, or retrieve it from the workflow commit explicitly.Useful? React with 👍 / 👎.