Skip to content

Live upgrade and integration tests #508

@brson

Description

@brson

It's critical that self-updates do not ever break. Right now I'm very unconfident that we can guarantee this.

To rectify this I intend to do several things:

  • Modify the deployment scripts to create archives for the release artifacts.
  • Create a new crate rustup-live-test that just contains tests
    • Its test scenarios work by setting RUSTUP_DIST_ROOT into the live archives to simulate updates over time
    • The dist root is configurable so that it can be run against dev-static.rlo, static.rlo, or the file system
  • Create a new crate rustup-build-archives that rebuilds the archives. Use this to backfill the live archives and for local testing.
  • Create two git branches master-live-test, stable-live-test, with new CI configs
    • These just run the new tests. We'll use these to test the dev deployment before the stable deployment.

cc @alexcrichton @aturon @Diggsey

This is what I intend to do next. I think before doing any further production deployments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions