* Upgrade Rust to 1.52.0 update nightly_version to newly pushed docker image fix clippy lint errors 1.52 comes with grcov 0.8.0, include this version to script * upgrade to Rust 1.52.1 * disabling Serum from downstream projects until it is upgraded to Rust 1.52.1
Docker image containing rust nightly and some preinstalled crates used in CI.
This image may be manually updated by running CI=true ./build.sh
if you are a member
of the Solana Labs Docker Hub
organization.
Moving to a newer nightly
NOTE: Follow instructions in docker-rust/README.md before this when updating the stable rust version as well.
We pin the version of nightly (see the ARG nightly=xyz
line in Dockerfile
)
to avoid the build breaking at unexpected times, as occasionally nightly will
introduce breaking changes.
To update the pinned version:
- Edit
Dockerfile
to match the desired stable rust version to base on if needed. - Run
ci/docker-rust-nightly/build.sh
to rebuild the nightly image locally, or potentiallyci/docker-rust-nightly/build.sh YYYY-MM-DD
if there's a specific YYYY-MM-DD that is desired (default is today's build). Check https://rust-lang.github.io/rustup-components-history/ for build status - Update
ci/rust-version.sh
to reflect the new nightlyYYYY-MM-DD
- Run
SOLANA_ALLOCATE_TTY=1 SOLANA_DOCKER_RUN_NOSETUID=1 ci/docker-run.sh --nopull solanalabs/rust-nightly:YYYY-MM-DD ci/test-checks.sh
andSOLANA_ALLOCATE_TTY=1 SOLANA_DOCKER_RUN_NOSETUID=1 ci/docker-run.sh --nopull solanalabs/rust-nightly:YYYY-MM-DD ci/test-coverage.sh [args]...
to confirm the new nightly image builds. Fix any issues as needed - Run
docker login
to enable pushing images to Docker Hub, if you're authorized. - Run
CI=true ci/docker-rust-nightly/build.sh YYYY-MM-DD
to push the new nightly image to dockerhub.com. - Send a PR with the
ci/rust-version.sh
change and any codebase adjustments needed.
Troubleshooting
Resource is denied
When running CI=true ci/docker-rust-nightly/build.sh
, you see:
denied: requested access to the resource is denied
Run docker login
to enable pushing images to Docker Hub. Contact @mvines or @garious
to get write access.