* 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
Dockerfileto match the desired stable rust version to base on if needed. - Run
ci/docker-rust-nightly/build.shto rebuild the nightly image locally, or potentiallyci/docker-rust-nightly/build.sh YYYY-MM-DDif 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.shto 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.shandSOLANA_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 loginto enable pushing images to Docker Hub, if you're authorized. - Run
CI=true ci/docker-rust-nightly/build.sh YYYY-MM-DDto push the new nightly image to dockerhub.com. - Send a PR with the
ci/rust-version.shchange 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.