Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion install/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ <h2>What else is in it</h2>
</p>

<h2 id="source">With Rust instead</h2>
<p>Needs Rust 1.85 or newer, and nothing else:</p>
<p>Needs Rust 1.88 or newer, and nothing else:</p>
<pre class="code"><code>$ cargo install deed-lang</code></pre>
<p>
<code>deed</code> on crates.io belongs to somebody else, so the
Expand Down
18 changes: 18 additions & 0 deletions tools/check.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,24 @@ for (const [where, { tag, version }] of pins) {

const tag = first?.tag;

// The wasm reports its Deed version, but it cannot report the oldest Rust
// toolchain that can build the crates.io package. Keep that release metadata
// explicit here: moving TAG to a release not in this table fails until the
// install claim is considered too, instead of silently carrying an old MSRV.
const minimumRust = new Map([["v0.2.12", "1.88"]]).get(tag);
const install = await readFile(join(root, "install", "index.html"), "utf8");
const claimedRust = install.match(/Needs Rust ([0-9.]+) or newer/)?.[1];
if (!minimumRust) {
complain("tools/check.mjs", `no minimum Rust version is recorded for ${tag}`);
} else if (!claimedRust) {
complain("install/index.html", "does not state the minimum Rust version");
} else if (claimedRust !== minimumRust) {
complain(
"install/index.html",
`says Rust ${claimedRust} and ${tag} requires Rust ${minimumRust}`,
);
}

// The artifact is committed rather than built, so nothing in this repository
// has ever compiled it, and a file that is present is not a file that answers.
// A truncated copy, or the artifact of a different build wearing the right
Expand Down