-
Notifications
You must be signed in to change notification settings - Fork 607
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
fix: release build scripts #1286
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1286 +/- ##
==========================================
- Coverage 20.90% 20.14% -0.76%
==========================================
Files 196 203 +7
Lines 25425 26824 +1399
==========================================
+ Hits 5316 5405 +89
- Misses 19118 20412 +1294
- Partials 991 1007 +16
Continue to review full report at Codecov.
|
a3bf439
to
d4f95c0
Compare
Makefile
Outdated
@@ -85,7 +88,7 @@ all: install lint test | |||
|
|||
BUILD_TARGETS := build install | |||
|
|||
build: BUILD_ARGS=-o $(BUILDDIR)/ | |||
build: BUILD_ARGS=-o $(BUILDDIR)/ |
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.
is this leading space right? I thought make file commands have to have no leading spaces for the definition
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.
This is a typo that is fixed now. Thanks for catching that
It worked locally for me. I remember we were having issues in CI when having 4 spaces instead of tabs. That seems to be breaking things
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.
This LGTM, but want to leave open in case others who know more than me about the build system get a chance to take a look.
Just had a call with @nikever , and he helped me to make the builder logic work with a non-root user in the The problem building as a root is that if an end-user runs our binary as a non-root, they might get some permission errors. I'll make this PR a draft for now to integrate some final changes related to non-root |
This is ready now |
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.
LGTM
* update all builders * rbuilder images are prefixed by osmolabs * update makefile * use root instead of builder user and other minor changes * correct lib path in Makefile * LINK_STATICALLY in Makefile * docs for builder * update README * changelog entry * remove make clean from .build.sh * improve readme * remove spurious whitespace in Makefile * fix formatting for build-reproducible * update cosmwasm path in makefile * copy from /home/builder in build-reproducible * change wasm file pemissions to non-root (cherry picked from commit 2029415) # Conflicts: # CHANGELOG.md
* update all builders * rbuilder images are prefixed by osmolabs * update makefile * use root instead of builder user and other minor changes * correct lib path in Makefile * LINK_STATICALLY in Makefile * docs for builder * update README * changelog entry * remove make clean from .build.sh * improve readme * remove spurious whitespace in Makefile * fix formatting for build-reproducible * update cosmwasm path in makefile * copy from /home/builder in build-reproducible * change wasm file pemissions to non-root
* fix: release build scripts (#1286) * update all builders * rbuilder images are prefixed by osmolabs * update makefile * use root instead of builder user and other minor changes * correct lib path in Makefile * LINK_STATICALLY in Makefile * docs for builder * update README * changelog entry * remove make clean from .build.sh * improve readme * remove spurious whitespace in Makefile * fix formatting for build-reproducible * update cosmwasm path in makefile * copy from /home/builder in build-reproducible * change wasm file pemissions to non-root (cherry picked from commit 2029415) # Conflicts: # CHANGELOG.md * fix: release build scripts (#1286) * update all builders * rbuilder images are prefixed by osmolabs * update makefile * use root instead of builder user and other minor changes * correct lib path in Makefile * LINK_STATICALLY in Makefile * docs for builder * update README * changelog entry * remove make clean from .build.sh * improve readme * remove spurious whitespace in Makefile * fix formatting for build-reproducible * update cosmwasm path in makefile * copy from /home/builder in build-reproducible * change wasm file pemissions to non-root * fix changelog Co-authored-by: Roman <[email protected]> Co-authored-by: Adam Tucker <[email protected]>
Closes: #1284
What is the purpose of the change
This change fixes our
make build-reproducible
Makefile step to generate release binaries. As described in the issue #1284, our current binaries do not have cosm wasm dependencies correctly installed. Wasmvm binaries need to be statically linked.On initial investigation, I observed that our
rbuilder
is broken when built locally. The version from docker hub that is used by default when local version is not available has not been updated in around a year and does not work with themain
branch of our repository.As a result, our
rbuilder
was fixed in this PR by referencing the updated version here: https://github.com/tendermint/images/tree/master/rbuilderAdditionally, it does not make sense to rely on the cosmoshub image (
cosmossdk/rbuilder:latest
). That is not built by our team.I propose to push the final result of the
rbuilder
in this PR to our Dockerhub (i.eosmolabs/rbuilder
) CC: @nikeverBrief change log
make build-reproducible
and all related scripts by referencing: https://github.com/tendermint/images/tree/master/rbuilderPR Formatting
Testing and Verifying
Built the binary with
make built-reproducible
on main branch and successfully ran it without getting the error described in #1284:Documentation and Release Note
Unreleased
section inCHANGELOG.md
? yescontrib/images/README.md