-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Add basic rust integration test. NFC #22964
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Conversation
f6c6ad3
to
17e69be
Compare
Sorry I'm still trying to get the CI working for this. |
OK, all looks good now, PTAL |
- run: | ||
name: install rust | ||
command: | | ||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y |
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.
#YOLO
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 the official way to install rust apparently.. so its actually good that we use this method here I think.
.circleci/config.yml
Outdated
@@ -721,6 +730,18 @@ jobs: | |||
core0.test_hello_argc | |||
core2.test_demangle_stacks_symbol_map" | |||
- upload-test-results | |||
test-rust: | |||
executor: linux-python |
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.
Another option here might be the CircleCI rust image? https://circleci.com/developer/images/image/cimg/rust
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 tried that first but decided against it for 2 reasons:
- We need python to run emscripten and the rust image does not have python installed.
- We want to run rust nightly I think, which the rust image doesn't seem to have
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.
Ah, interesting. Are there changes going into core rustc that we will need?
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.
One of my ideas behind this integration test is to make sure emscripten output is compatible with rust as it evolves, so like we do for firefox and chromium, we always test against latest/nightly, even though it means our CI can sometimes break due to external changes.
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.
As an aside I find it odd that circle CI doesn't have base images with more than one tool. Surely there are a lot of polyglot projects out there that needs python + node or python + rust. It seems that such projects currently have to build their own base image or manually install one or more runtimes.
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.
Doesn't look like you're installing nightly yet?
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.
What's the recommended way to do that?
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.
rustup toolchain install nightly
Looks like you might also be able to specify it when you install rustup https://rust-lang.github.io/rustup/installation/index.html#installing-nightly
CC @hoodmane in case you have ideas for some more rust smoke tests we can/should add here? |
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. Don't forget to put EMTEST_SKIP_RUST into the environment on the Chromium CI bots so this can roll.
@sbc100 Rust tests are failing on the roller: |
That should be fixed by https://chromium-review.googlesource.com/c/emscripten-releases/+/6038095 |
Hmm, that was merged 2PM yesterday, but the roller is still failing as of 4 hours ago. I see that the error message mentions |
Ah yes! I decided to fix this on the emscripten side: #22982 |
No description provided.