mirror of
https://github.com/kvcache-ai/AgentENV.git
synced 2026-11-05 01:17:36 +00:00
[PR #429] [MERGED] fix(make): keep command-line overrides out of inherited MAKEFLAGS #431
Labels
No labels
bug
documentation
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/AgentENV#431
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/kvcache-ai/AgentENV/pull/429
Author: @yingdi-shan
Created: 10/23/2026
Status: ✅ Merged
Merged: 10/23/2026
Merged by: @yingdi-shan
Base:
main← Head:fix/makeflags-command-line-overrides📝 Commits (1)
4583d3cfix(make): keep command-line overrides out of inherited MAKEFLAGS📊 Changes
1 file changed (+5 additions, -0 deletions)
View changed files
📝
Makefile(+5 -0)📄 Description
What
Set
MAKEOVERRIDES :=in the top-levelMakefileso that command-line variable overrides (e.g.PROFILE=debug) are no longer encoded into theMAKEFLAGSthat recipes inherit.Why
unit-testsin AENV CI has failed onmainand every PR since the v0.2.4 bump (e.g. runs 39892803013, 39910415804, 39910493540):make test-unit PROFILE=debugmakes GNU make exportMAKEFLAGS=" -- PROFILE=debug".tikv-jemalloc-sys's build script appends cargo's jobserver flags after the inherited value, so-jlands after--.ubuntu-latestswitched to on 2026-10-20) treats-jas a target and fails.Cargo.lock, so the next run found no cache, and failed runs never save one, so every run since has failed. Deleting the cache does not help.The Makefile's own recursive calls (
$(MAKE) install-ublk PROFILE=debug,$(MAKE) build-ublk PROFILE=debug) hit the same issue on a cold build, so changing only the workflow invocations would not be enough.Related issue
N/A — CI regression; no issue filed.
Scope and non-goals
Makefile only. No workflow, Rust, or
services/changes. The runner image is not pinned.Design and behavior changes
Command-line overrides still reach recipes and sub-makes as environment variables. Explicit sub-make overrides keep priority:
make bench PROFILE=debugstill buildsinstall-ublkwith--release.make services-test GO=mygostill passesGOthrough toservices/.Compatibility and operations
Validation
make fmtmake clippymake test-unitmake -C services test(required whenservices/changes)maketargetCommands and results:
Skipped checks and reasons:
make test-unitwas not run locally (it needs capability/ublk host setup). This PR's CIunit-testsjob is the end-to-end check, since it will start without a Rust cache.Risks and reviewer notes
A sub-make that relied on parent overrides beating its own Makefile's plain
:=/=assignments would now see the Makefile value instead, because environment variables don't override those. No current sub-make target relies on this:services/*use?=.Checklist
🤖 Generated with Claude Code
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.