solana/ci/docker-rust-nightly
Michael Vines cf3bbc09b6 Jump to nightly-2019-10-03 (#6233)
* Reduce what gets build for coverage to avoid OoM with nightly 2019-10-03

* Update nightly to 2019-10-03
2019-10-03 20:05:44 -06:00
..
Dockerfile Jump to nightly-2019-10-03 (#6233) 2019-10-03 20:05:44 -06:00
README.md check rust programs (#4688) 2019-06-20 07:43:31 -07:00
build.sh codemod --extensions sh '#!/usr/bin/env bash -e' '#!/usr/bin/env bash\nset -e' 2018-11-11 16:24:36 -08:00

README.md

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, but it is also automatically updated periodically by this automation.

Moving to a newer nightly

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:

  1. Run ci/docker-rust-nightly/build.sh to rebuild the nightly image locally, or potentially ci/docker-rust-nightly/build.sh YYYY-MM-DD if there's a specific YYYY-MM-DD that is desired (default is today's build).
  2. Update ci/rust-version.sh to reflect the new nightly YYY-MM-DD
  3. Run SOLANA_DOCKER_RUN_NOSETUID=1 ci/docker-run.sh --nopull solanalabs/rust-nightly:YYYY-MM-DD ci/test-coverage.sh to confirm the new nightly image builds. Fix any issues as needed
  4. Run docker login to enable pushing images to Docker Hub, if you're authorized.
  5. Run CI=true ci/docker-rust-nightly/build.sh YYYY-MM-DD to push the new nightly image to dockerhub.com.
  6. 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.