-
Notifications
You must be signed in to change notification settings - Fork 883
makelib: introduce --enable-incremental-build, enabling "go install" #3553
Conversation
It looks like most of the workers are unhappy about the cleaning step now. |
ack, the |
we might also have some issue with fedora 23, since go 1.5.3 might not yet support the let's see what the CI is saying in the next round. |
oh, interesting, the arm64 builders also seem to put the artifacts in a different dir. |
nice, only arm64 needs a fix |
arm64 places its binaries under |
82ed97b
to
09efcb5
Compare
The fedora-24 failure is a known flake. The strange thing is that this still fails on jenkins with the cross-compilation build, erroring with:
Indeed gcc-arm doesn't support I guess this is an option set in a x86 build for some other binary and seems to intertwine here. I'll try to reproduce this locally. |
AMAZING. I appreciate this beyond belief. |
yeah, i just need to fix arm64, I think I have some silliness there left. |
b07f8a0
to
b72887e
Compare
I gated this behind a Our build system actually builds also native binaries, even when in a cross compilation scenario, i.e. |
@@ -161,5 +161,14 @@ This option to enable [logging to the TPM][rkt-tpm] is set by default. For loggi | |||
|
|||
This option to allow building rkt with go having known security issues is unset by default. Use it with caution. | |||
|
|||
## Development | |||
|
|||
#### `--enable-incremental-build` |
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.
Probably want to add a mention that you should not build releases with this.
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.
addressed
A minor documentation suggestion, but LGTM. |
This change decreases incremental compilation time by 50% on my machine for stage0 builds. stage1 binaries are much smaller so there is no significant improvement in compilation speed. Small change in rkt/main.go: ``` $ time make GO github.com/coreos/rkt/rkt ACTOOL build-rkt/target/bin/stage1-coreos.aci real 0m13.086s user 0m11.797s sys 0m1.323s ``` Small change in stage1/init/init.go: ``` $ time make GO github.com/coreos/rkt/stage1/init ACTOOL build-rkt/target/bin/stage1-coreos.aci real 0m11.615s user 0m10.047s sys 0m1.083s ``` The same with "go build": Small change in rkt/main.go: ``` $ time make GO github.com/coreos/rkt/rkt ACTOOL build-rkt/target/bin/stage1-coreos.aci real 0m21.573s user 0m32.907s sys 0m2.177s ``` Small change in stage1/init/init.go: ``` $ time make GO github.com/coreos/rkt/stage1/init ACTOOL build-rkt/target/bin/stage1-coreos.aci real 0m11.365s user 0m10.777s sys 0m1.083s ```
This change decreases incremental compilation time by 50% on my machine
for stage0 builds.
stage1 binaries are much smaller so there is no significant improvement
in compilation speed.
Small change in rkt/main.go:
Small change in stage1/init/init.go:
The same with "go build":
Small change in rkt/main.go:
Small change in stage1/init/init.go: