-
Notifications
You must be signed in to change notification settings - Fork 196
ci: Always install newest Rust version #4288
Conversation
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.
The code LGTM, thanks Jakob! I'll kick of the tests and check the output tomorrow
/test |
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.
So, I think this problem arises because of some other broken conditions:
- Having the test scripts manage their own environment is super fragile
- Installing the latest rust version, rather than the earliest required is basically asking for people to add things that don't actually work with the supposedly earliest supported version.
Nonetheless this addresses a real problem in the short term, and at least makes the scripts simpler and behaviour more consistent across test cases. So, I approve.
It looks like the change worked and s390x and ARM jobs do |
As for the test failures on ARM & s390x: Those instances have rustup installed into a user home as root. This is something I'd like to eliminate altogether. I'm going to go the admittedly cringeworthy route of running them with a temporary commit that removes rustup. Adding DNM for the time being. /test-arm /test-s390x
@dgibson you mean it would be better to provision environments without the test scripts, and have the test scripts not install anything? I'm sure it would work, it is a major undertaking though.
We are already doing this on all other jobs. DYT we should change this to the oldest supported version? (Probably a separate PR if we do this). Line 17 in 8c62e42
|
Should have pushed before... 🤦 /test-arm /test-s390x |
/test-arm /test-s390x |
1 similar comment
/test-arm /test-s390x |
Okay, both are past that point. Removing the "cleanup" commit and DNM. Interestingly, I don't need to run most tests because they have already been run on that log. /test-arm /test-s390x |
Missed a |
forgot to stage, sorry for the noise -- /test-s390x |
another |
s390x:
this is #3998, /test |
ARM:
s390x: #3998 again (?)
/retest-arm /retest-s390x /retest-vfio |
ARM still has
even after all the sourcing, and s390x, which also runs the unit tests in the Jenkins job, does not have this issue. I can't figure out the difference (this still seems to work with |
Maybe the ci machine is not clear. I remove the ".cargo" and the ci passes. |
/retest-s390x |
In the unit tests and the agent shutdown test, we install Rust iff it isn't installed. On CI instances that are not reinstated for every job (e.g. ARM & s390x), this leads to Rust never getting updated (1.47 at the moment). The Rust installation script already does what we should do: It installs the required version of Rust unless it is already installed. Use that without checks. Fixes: #4179 Signed-off-by: Jakob Naucke <[email protected]>
Ah. Because there can be |
In the unit tests and the agent shutdown test, we install Rust iff it
isn't installed. On CI instances that are not reinstated for every job
(e.g. ARM & s390x), this leads to Rust never getting updated (1.47 at
the moment). The Rust installation script already does what we should
do: It installs the required version of Rust unless it is already
installed. Use that without checks.
Fixes: #4179
Signed-off-by: Jakob Naucke [email protected]
/cc @dgibson @stevenhorsman