solana/ci/docker-rust-nightly
Ryo Onodera 40ccade5cc
Update to rust 1.44.0 (#10585)
* Update rust 1.44.0

* Update rust nightly 1.46.0

* Update docs

* Fix clippy errors

* Compile all source code with stable and nightly

* Add another note

* script tweaks

* Fix a test...

* Add another workaround

* Add hack

* Increase timeout...

* Revert "Add hack"

This reverts commit 5960f087203be8792ec0728a6755288c317a2788.

* Revert "Add another workaround"

This reverts commit e14300d01ffd1b8e86e676662177545549b45c13.

* Require nightly rustfmt and use older nightly a bit

* Improve document a bit

* Revert now not-existing clippy check...
2020-06-17 01:32:16 +09:00
..
Dockerfile Update to rust 1.44.0 (#10585) 2020-06-17 01:32:16 +09:00
README.md Update to rust 1.44.0 (#10585) 2020-06-17 01:32:16 +09: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.

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:

  1. Edit Dockerfile to match the desired stable rust version to base on if needed.
  2. 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). Check https://rust-lang.github.io/rustup-components-history/ for build status
  3. Update ci/rust-version.sh to reflect the new nightly YYY-MM-DD
  4. 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 and SOLANA_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
  5. Run docker login to enable pushing images to Docker Hub, if you're authorized.
  6. Run CI=true ci/docker-rust-nightly/build.sh YYYY-MM-DD to push the new nightly image to dockerhub.com.
  7. 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.