solana/ci/docker-rust-nightly
Greg Fitzgerald 9c0fa4d1d2
Upload coverage HTML reports (#1421)
Uploads two reports to Buildkite, one from cargo-cov and one from lcov via grcov.  The lcov one is busted on linux and is what we need to bring codecov.io back up again. It works great on macos if you wanted to generate them locally and prefer lcov HTML reports.

* Also comment out non-coverage build to speed things up.
2018-10-05 10:17:35 -07:00
..
Dockerfile Upload coverage HTML reports (#1421) 2018-10-05 10:17:35 -07:00
README.md Refine docker image tagging to avoid breaking stabilization branches on updates 2018-09-07 18:42:25 -07:00
build.sh Refine docker image tagging to avoid breaking stabilization branches on updates 2018-09-07 18:42:25 -07: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. Run SOLANA_DOCKER_RUN_NOSETUID=1 ci/docker-run.sh --nopull solanalabs/rust-nightly:YYYY-MM-DD ci/test-nightly.sh to confirm the new nightly image builds. Fix any issues as needed
  3. Run docker login to enable pushing images to Docker Hub, if you're authorized.
  4. Run CI=true ci/docker-rust-nightly/build.sh YYYY-MM-DD to push the new nightly image to dockerhub.com.
  5. Modify the solanalabs/rust-nightly:YYYY-MM-DD reference in ci/buildkite.yml from the previous to new YYYY-MM-DD value, send a PR with this 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.