-
Notifications
You must be signed in to change notification settings - Fork 19
Configure builder by default #657
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
Conversation
✅ Deploy Preview for oasisprotocol-cli canceled.
|
45f5d20 to
6969fc1
Compare
53cc085 to
9a01701
Compare
We could split it into two images, one that has the essential build tools for container-based apps (should be small) and the other that has Rust toolchain and more stuff. Then use the appropriate one when initializing/upgrading, depending on app kind (raw vs. container). |
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
6898807 to
ca91721
Compare
77537f4 to
dc2e526
Compare
dc2e526 to
3956608
Compare
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.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
3956608 to
7b86931
Compare
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.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
97cf10c to
cfb1131
Compare
0ae0114 to
b420dc1
Compare
kostko
left a comment
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.
Nice work!
cmd/rofl/build/artifacts.go
Outdated
| return fmt.Errorf("%w\n%s", err, out.String()) | ||
| } | ||
|
|
||
| // Resize to ensure virtual size matches original (prevents truncation). |
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.
Was this also a problem before?
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.
It wasn't, but it's not 100% clear to me why. Maybe this is just a problem on macos, before we always used a docker container for building on macos. Will test out if this is macos specific.
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.
I figured out what the issue was. It wasn't related to the environment. The problem was that the padding was done on the host via f.Truncate (not in the builder container), and over the bind mount the container saw only the pre‑pad size. Doing either veritysetup verify or resizing the image fixed the issue (probably just due to touching it?). So I moved the padding to be run in the builder env and it fixes the issue. I have kept the veritysetup verify step, since it's useful as a sanity check, but have removed the resize since it's not needed.
b420dc1 to
4274023
Compare
4274023 to
3cbaa26
Compare
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.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fixes: #652
This PR configures the ROFL builder container image by default for new and upgraded ROFL apps. Also provides clearer error messages when the container runtime is missing or native builds aren't supported.
Everyone should now just run
oasis rofl build(regardless of platform).Note: This changes the built artifacts again, but builds should now be fully reproducible across environments when using the Docker builder.
Changes:
Tested this (and got reproducable builts on):
oasis rofl build --no-container(no builder)oasis rofl build(uses builder)oasis rofl build(uses builder)TODO:
docker run --platform linux/amd64 --volume .:/src -it ghcr.io/oasisprotocol/rofl-dev:main oasis rofl buildanymore, once this is released