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
3 changes: 3 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,6 @@ updates:
default-days: 7
commit-message:
prefix: chore
ignore:
# The stable branch has no current versioned release; synchronize its commit pin manually.
- dependency-name: dtolnay/rust-toolchain
29 changes: 29 additions & 0 deletions .github/scripts/workflow-policy.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ const DEPENDABOT_CONFIG_URL = new URL(".github/dependabot.yml", ROOT_URL);
const FALLOW_CONFIG_URL = new URL(".fallowrc.json", ROOT_URL);
const PACKAGE_JSON_URL = new URL("package.json", ROOT_URL);
const README_URL = new URL("README.md", ROOT_URL);
const RUST_TOOLCHAIN_ACTION =
"dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30";
const WASM_PACK_INSTALL_ACTION = "taiki-e/install-action@43aecc8d72668fbcfe75c31400bc4f890f1c5853";
const WASM_PACK_WORKFLOWS = new Map([
["bench.yml", " if: matrix.kind == 'node'\n"],
Expand Down Expand Up @@ -181,6 +183,33 @@ describe("Dependabot policy", () => {
/# memchr 2\.8\.3 regressed the performance gate; retry with the next release\.\n\s+- dependency-name: memchr\n\s+versions: \["2\.8\.3"\]/,
);
});

it("pins the manually managed stable Rust toolchain consistently", async () => {
let consumers = 0;

for (const entry of await workflowFiles()) {
const workflow = await readFile(new URL(entry.name, WORKFLOWS_URL), "utf8");
const uses = workflow
.split("\n")
.filter((line) => line.includes("dtolnay/rust-toolchain@"));
consumers += uses.length;

for (const use of uses) {
assert.ok(use.includes(RUST_TOOLCHAIN_ACTION), `${entry.name}: ${use.trim()}`);
}
}

assert.ok(consumers > 0, "expected at least one Rust toolchain consumer");

const config = await readFile(DEPENDABOT_CONFIG_URL, "utf8");
const githubActionsStart = config.indexOf(" - package-ecosystem: github-actions\n");
assert.notEqual(githubActionsStart, -1, "missing GitHub Actions ecosystem");
const githubActions = config.slice(githubActionsStart);
assert.match(
githubActions,
/# The stable branch has no current versioned release; synchronize its commit pin manually\.\n\s+- dependency-name: dtolnay\/rust-toolchain/,
);
});
});

describe("Checkout credential policy", () => {
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,10 @@ jobs:
if: matrix.kind == 'node'
run: corepack enable

- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
if: matrix.kind == 'rust'

- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
if: matrix.kind == 'node'
with:
targets: wasm32-unknown-unknown
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
Expand Down Expand Up @@ -65,7 +65,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Test codec parallel feature
run: cargo test -p srcmap-codec --features parallel
Expand All @@ -82,7 +82,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
- name: Check documentation
env:
RUSTDOCFLAGS: "-D warnings"
Expand All @@ -103,7 +103,7 @@ jobs:
run: |
MSRV=$(sed -n 's/^rust-version = "\(.*\)"/\1/p' Cargo.toml | head -1)
echo "version=$MSRV" >> "$GITHUB_OUTPUT"
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
toolchain: ${{ steps.msrv.outputs.version }}
- name: Check MSRV
Expand Down Expand Up @@ -215,7 +215,7 @@ jobs:
node-version: 22
- name: Enable Corepack
run: corepack enable
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
Expand All @@ -241,7 +241,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Run conformance tests
run: cargo test -p srcmap-sourcemap --test conformance
Expand All @@ -255,7 +255,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Compile examples
run: cargo build --examples --workspace
Expand All @@ -269,7 +269,7 @@ jobs:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2
- name: Compile benchmarks
run: cargo bench --workspace --no-run
2 changes: 1 addition & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
with:
persist-credentials: false

- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
components: llvm-tools-preview

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
with:
persist-credentials: false

- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30

- uses: Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32 # v2

Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
- name: Install JS dependencies
run: corepack pnpm install --ignore-scripts --frozen-lockfile

- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
targets: ${{ matrix.settings.target }}

Expand Down Expand Up @@ -195,7 +195,7 @@ jobs:
with:
persist-credentials: false

- uses: dtolnay/rust-toolchain@631a55b12751854ce901bb631d5902ceb48146f7
- uses: dtolnay/rust-toolchain@4be7066ada62dd38de10e7b70166bc74ed198c30
with:
targets: wasm32-unknown-unknown

Expand Down
Loading