Pin nightly rust for more controlled updating
This commit is contained in:
parent
ecddff98f5
commit
a1ec549630
|
@ -1,8 +1,9 @@
|
|||
FROM solanalabs/rust
|
||||
ARG nightly=nightly-2018-08-14
|
||||
|
||||
RUN set -x && \
|
||||
rustup install nightly && \
|
||||
rustup default nightly && \
|
||||
rustup component add clippy-preview --toolchain=nightly && \
|
||||
rustup install $nightly && \
|
||||
rustup default $nightly && \
|
||||
rustup component add clippy-preview --toolchain=$nightly && \
|
||||
rustc --version && \
|
||||
cargo --version
|
||||
|
|
|
@ -1,6 +1,21 @@
|
|||
Docker image containing rust nightly and some preinstalled crates used in CI.
|
||||
|
||||
This image may be manually updated by running `./build.sh` if you are a member
|
||||
This image may be manually updated by running `CI=true ./build.sh` if you are a member
|
||||
of the [Solana Labs](https://hub.docker.com/u/solanalabs/) Docker Hub
|
||||
organization, but it is also automatically updated periodically by
|
||||
[this automation](https://buildkite.com/solana-labs/solana-ci-docker-rust-nightly).
|
||||
|
||||
## 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. Locally update the `ARG nightly=xyz` line in `ci/docker-rust-nightly/Dockerfile`
|
||||
1. Run `ci/docker-rust-nightly/build.sh` to rebuild the nightly image locally
|
||||
1. Run `ci/docker-run.sh --nopull solanalabs/rust-nightly ci/test-nightly.sh` to
|
||||
confirm the new nightly image builds. Fix any issues as needed
|
||||
1. Run `CI=true ci/docker-rust-nightly/build.sh` to push the new nightly image to dockerhub.com.
|
||||
**Note that all CI may be broken now until the next step is completed.**
|
||||
1. Merge the update to `ARG nightly=xyz` and any codebase adjustments needed.
|
||||
|
|
|
@ -3,4 +3,10 @@
|
|||
cd "$(dirname "$0")"
|
||||
|
||||
docker build -t solanalabs/rust-nightly .
|
||||
docker push solanalabs/rust-nightly
|
||||
|
||||
maybeEcho=
|
||||
if [[ -z $CI ]]; then
|
||||
echo "Not CI, skipping |docker push|"
|
||||
maybeEcho="echo"
|
||||
fi
|
||||
$maybeEcho docker push solanalabs/rust-nightly
|
||||
|
|
Loading…
Reference in New Issue