Git Product home page Git Product logo

promote-release's Introduction

promote-release

promote-release is the tool used by the Rust project to publish new releases of the Rust toolchain.

Running the tool locally

It's possible to run the promote-release tool locally without access to any production credential, to ease testing changes made to it. You need to make sure to have docker and docker-compose installed on your local system, and you need to start the local environment by running:

docker-compose up

This will start an instance of MinIO and build a local container tailored to run the release process on. Once the local environment is up and running, you can start a release with one of the following commands:

./run.sh nightly
./run.sh beta
./run.sh stable

Once the release is done, you can use it with rustup by setting the following environment variable while calling rustup:

RUSTUP_DIST_SERVER="http://localhost:9000/static"

You can also release a specific commit by providing its full hash as the second argument of ./run.sh:

./run.sh nightly 0000000000000000000000000000000000000000

Adding additional files to the local release

To save on time and bandwidth, when running a release locally the tooling won't include all files present in a proper release, but to save on bandwidth and storage only a small subset of it is included (on 2020-09-16 a full release weights 27GB).

You can add additional files by tweaking the environment variables in local/run.sh.

Inspecting the contents of the object storage

You can access the contents of the object storage by visiting http://localhost:9000/minio and logging in with:

  • Access Key: access_key
  • Secret Key: secret_key

License

The contents of this repository are licensed under both the MIT and the Apache 2.0 license, allowing you to choose which one to adhere to.

promote-release's People

Contributors

pietroalbini avatar alexcrichton avatar mark-simulacrum avatar davidtwco avatar ralfjung avatar simonsapin avatar dependabot-support avatar kennytm avatar oli-obk avatar t-botz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.