Skip to content
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

Update Rust in builder to 1.69.0 #6832

Merged
merged 2 commits into from
Jun 6, 2023
Merged

Update Rust in builder to 1.69.0 #6832

merged 2 commits into from
Jun 6, 2023

Conversation

legoktm
Copy link
Member

@legoktm legoktm commented May 31, 2023

Status

Ready for review

Description of Changes

First, adjust how Rust is installed in the builder container

Install Rust and rustup in slightly more straightforward directories and
unconditionally add it to $PATH instead of weirdly in /root/.cargo.

This setup is partially based on rust-lang/rustup#1085 (comment),
which is described as unsupported for multiple users but our containers
are single-user.

The plan is to copy this to the development container as well.

Second, and primarily, update Rust in builder to 1.69.0

For the Sequoia work, we're planning to use 1.69.0 so we need to update
the builder to match. This is being done separately since it already
affects a production component (the cryptography wheel) and should be
tested independently.

This also lets us get rid of our index-warming hack since we can use the
new fast sparse protocol instead
(https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol).

Refs #6817.

Testing

How should the reviewer test this PR?

  • CI passes, including deb building and staging build
  • Build new debs, deploy on a staging/prod instance:
    • Create new journalist, log in as them.

(AFAIK that's the main place we use cryptography on the server)

Deployment

Any special considerations for deployment? No.

Checklist

  • These changes do not require documentation

@legoktm legoktm marked this pull request as ready for review June 1, 2023 23:54
@legoktm legoktm requested a review from a team as a code owner June 1, 2023 23:54
@legoktm legoktm added the Rust Issues that touch Rust code label Jun 1, 2023
@cfm cfm self-assigned this Jun 6, 2023
legoktm added 2 commits June 5, 2023 22:06
Install Rust and rustup in slightly more straightforward directories and
unconditionally add it to $PATH instead of weirdly in /root/.cargo.

This setup is partially based on <rust-lang/rustup#1085 (comment)>,
which is described as unsupported for multiple users but our containers
are single-user.

The plan is to copy this to the development container as well.
For the Sequoia work, we're planning to use 1.69.0 so we need to update
the builder to match. This is being done separately since it already
affects a production component (the cryptography wheel) and should be
tested independently.

This also lets us get rid of our index-warming hack since we can use the
new fast sparse protocol instead
(<https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol>).

Refs #6817.
@legoktm legoktm force-pushed the stg-rust-builder branch from 9a08371 to 9d8bd80 Compare June 6, 2023 02:08
Copy link
Member

@cfm cfm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for proactively making changes from #6828 (comment). :-)

  • CI passes, including deb building and staging build
  • Build new debs, deploy on a staging/prod instance:
    • Create new journalist, log in as them.

(AFAIK that's the main place we use cryptography on the server)

I spot a few more places. But a full smoke-test of the Source and Journalist Interfaces checks out just fine!

@cfm cfm merged commit a36d6fb into develop Jun 6, 2023
@legoktm legoktm deleted the stg-rust-builder branch June 6, 2023 20:08
legoktm added a commit to freedomofpress/securedrop-dev-docs that referenced this pull request Aug 3, 2023
We're responsible for keeping the Rust toolchain up to date, so add some
rough guidelines and instructions.

The test plan is based off of
<freedomofpress/securedrop#6832>.

Fixes #79.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Rust Issues that touch Rust code
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants