Hacker News new | ask | show | jobs
by epage 2403 days ago
> Over at the TypeScript compiler we recently slowed our release cycle from 2 months to 3 months specifically because of an observation noted here: nobody used our beta (or RC) builds.

It is pretty standard in the Rust community for crates to use stable, beta, and nightly in their CI. I know testing is different than development, especially for using new features but I'm sure it does help.

1 comments

The TypeScript is usually install via npm, but like many package managers it doesn't allow multiple user-specific installed versions of a package.

(What package manager allows for your multiple rustc versions? Or is it a bespoke solution?)

Fortunately the (IMO superior) yarn package manager does.

    "devDependencies": {
        "typescript": "~3.6.0",
        "typescript-beta": "npm:typescript@3.7.0-beta"
    }
Instead of using node_modules/.bin/tsc, use node_modules/typescript-beta/bin/tsc
> (What package manager allows for your multiple rustc versions? Or is it a bespoke solution?)

rustup, the recommended / website default way of installing rustc, supports installing multiple channels. The command it installs on your path as "rustc" (and "cargo" etc.) is actually a wrapper; you can use e.g. "rustc +nighly foo.rs", change the default for your user, and even change the default for a directory.

That said, CI is typicality done in ad-hoc VMs or containers (e.g., a Travis matrix), so having different versions in automated test runs would be straightforward even if rustup didn't support this.