internal/rosa: respect preferred loadavg target
Test / Create distribution (push) Successful in 56s
Test / Sandbox (push) Successful in 2m54s
Test / ShareFS (push) Successful in 3m57s
Test / Hakurei (push) Successful in 4m4s
Test / Sandbox (race detector) (push) Successful in 5m36s
Test / Hakurei (race detector) (push) Successful in 6m58s
Test / Flake checks (push) Successful in 1m11s
Test / Create distribution (push) Successful in 56s
Test / Sandbox (push) Successful in 2m54s
Test / ShareFS (push) Successful in 3m57s
Test / Hakurei (push) Successful in 4m4s
Test / Sandbox (race detector) (push) Successful in 5m36s
Test / Hakurei (race detector) (push) Successful in 6m58s
Test / Flake checks (push) Successful in 1m11s
This generally improves build performance and system responsiveness. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -18,6 +18,11 @@ const (
|
||||
jobsLE = `"$(expr ` + jobsE + ` '*' 2)"`
|
||||
// jobsLFlagE is expression for flag with double of preferred job count.
|
||||
jobsLFlagE = `"-j$(expr ` + jobsE + ` '*' 2)"`
|
||||
|
||||
// loadE is expression for preferred loadavg target set by [pkg].
|
||||
loadE = `"$` + pkg.EnvLoad + `"`
|
||||
// loadFlagE is expression for flag with preferred loadavg target.
|
||||
loadFlagE = `"-l$` + pkg.EnvLoad + `"`
|
||||
)
|
||||
|
||||
// newTar wraps [pkg.NewHTTPGetTar] with a simpler function signature.
|
||||
|
||||
@@ -61,10 +61,10 @@ func (attr *CMakeHelper) script(t Toolchain, name string) string {
|
||||
}
|
||||
|
||||
generate := "Ninja"
|
||||
test := "ninja " + jobsFlagE + " test"
|
||||
test := "ninja " + jobsFlagE + " " + loadFlagE + " test"
|
||||
if attr.Make {
|
||||
generate = "'Unix Makefiles'"
|
||||
test = "make " + jobsFlagE + " test"
|
||||
test = "make " + jobsFlagE + " " + loadFlagE + " test"
|
||||
}
|
||||
if attr.Test != "" {
|
||||
test = attr.Test
|
||||
@@ -97,7 +97,7 @@ cmake -G ` + generate + ` \
|
||||
}), " \\\n\t") + ` \
|
||||
-DCMAKE_INSTALL_PREFIX=/system \
|
||||
'/usr/src/` + name + `/` + filepath.Join(attr.Append...) + `'
|
||||
cmake --build . --parallel=` + jobsE + `
|
||||
cmake --build . --parallel=` + jobsE + ` -- ` + loadFlagE + `
|
||||
DESTDIR=/work cmake --install .
|
||||
` + script
|
||||
}
|
||||
|
||||
@@ -365,7 +365,7 @@ ln -s clang++ /work/system/bin/c++
|
||||
// on 3-stage determinism to test later stages.
|
||||
SkipTest: t.stage.isStage0(),
|
||||
|
||||
Test: "ninja " + jobsFlagE + " check-all",
|
||||
Test: "ninja " + jobsFlagE + " " + loadFlagE + " check-all",
|
||||
},
|
||||
_python,
|
||||
_perl,
|
||||
|
||||
@@ -160,7 +160,8 @@ func (attr *MakeHelper) script(t Toolchain, name string) string {
|
||||
|
||||
scriptMake := `
|
||||
make \
|
||||
` + jobsFlagE
|
||||
` + jobsFlagE + ` \
|
||||
` + loadFlagE
|
||||
if len(attr.Make) > 0 {
|
||||
scriptMake += " \\\n\t" + strings.Join(attr.Make, " \\\n\t")
|
||||
}
|
||||
@@ -170,6 +171,7 @@ make \
|
||||
(!attr.SkipCheckEarly || !t.stage.isStage0()) {
|
||||
scriptMake += attr.ScriptCheckEarly + `make \
|
||||
` + jobsFlagE + ` \
|
||||
` + loadFlagE + ` \
|
||||
`
|
||||
if len(attr.Check) > 0 {
|
||||
scriptMake += strings.Join(attr.Check, " \\\n\t")
|
||||
|
||||
@@ -34,7 +34,7 @@ package firmware {
|
||||
// requires pre-commit
|
||||
skipCheck = true;
|
||||
|
||||
install = "make " + jobsFlagE + " DESTDIR=/work/system dedup";
|
||||
install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup";
|
||||
};
|
||||
|
||||
inputs = [
|
||||
|
||||
@@ -70,6 +70,7 @@ disable_test t5515-fetch-merge-logic
|
||||
|
||||
install = `make \
|
||||
` + jobsFlagE + ` \
|
||||
` + loadFlagE + ` \
|
||||
DESTDIR=/work \
|
||||
NO_INSTALL_HARDLINKS=1 \
|
||||
install`;
|
||||
|
||||
@@ -111,6 +111,7 @@ install -Dm0500 \
|
||||
|
||||
make \
|
||||
` + jobsFlagE + ` \
|
||||
` + loadFlagE + ` \
|
||||
-f /usr/src/kernel/Makefile \
|
||||
O=/tmp/kbuild \
|
||||
LLVM=1 \
|
||||
|
||||
@@ -23,7 +23,7 @@ python3 /usr/src/ninja/configure.py \
|
||||
--bootstrap
|
||||
python3 /usr/src/ninja/configure.py \
|
||||
--gtest-source-dir=/usr/src/extra/googletest
|
||||
./ninja ` + jobsFlagE + ` all
|
||||
./ninja ` + jobsFlagE + ` ` + loadFlagE + ` all
|
||||
`;
|
||||
|
||||
check = "./ninja_test";
|
||||
|
||||
@@ -32,11 +32,13 @@ func (attr *MakeMakerHelper) script(t Toolchain, _ string) string {
|
||||
script := `perl Makefile.PL \
|
||||
PREFIX=/system
|
||||
make \
|
||||
` + jobsFlagE
|
||||
` + jobsFlagE + ` \
|
||||
` + loadFlagE
|
||||
if !attr.SkipCheck && t.opts&OptSkipCheck == 0 {
|
||||
script += `
|
||||
make \
|
||||
` + jobsFlagE + ` \
|
||||
` + loadFlagE + ` \
|
||||
test
|
||||
`
|
||||
}
|
||||
|
||||
@@ -499,6 +499,9 @@ func (s *S) getFrame() azalea.Frame {
|
||||
k("jobsLE"): jobsLE,
|
||||
k("jobsLFlagE"): jobsLFlagE,
|
||||
|
||||
k("loadE"): loadE,
|
||||
k("loadFlagE"): loadFlagE,
|
||||
|
||||
k("anityaFallback"): (*Versions).getStable,
|
||||
k("anityaLegacyCPAN"): func(v *Versions) string {
|
||||
for _, e := range v.Stable {
|
||||
|
||||
Reference in New Issue
Block a user