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.
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.
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.