From 0c1204eff1f82bb3de497c4ecb3324005a78b67b Mon Sep 17 00:00:00 2001 From: Lann Martin Date: Fri, 7 Aug 2026 00:16:38 -0400 Subject: [PATCH] setup action: write the install-root .rev stamp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The canonical local _ct-tools recipe (actions/README.md) recognizes an existing install by the .rev stamp; the action's install left none, so a consumer running both — the action for CI caching, the recipe inside `just` — repeated the install on every cold runner. The stamp is the shared install-root contract, and it rides the cache with the binaries. --- actions/setup/action.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/actions/setup/action.yml b/actions/setup/action.yml index d6bf5a6..b34e7e9 100644 --- a/actions/setup/action.yml +++ b/actions/setup/action.yml @@ -123,6 +123,11 @@ runs: cargo install -q --locked --root "$INPUT_INSTALL_ROOT" \ --git "$PIN_URL" --rev "$PIN_REV" "${missing[@]}" fi + # The install-root contract shared with the canonical local + # recipe (actions/README.md): the stamp names the installed + # rev, so a `just`-side bootstrap running after this action + # recognizes the install instead of repeating it. + printf '%s' "$PIN_REV" > "$INPUT_INSTALL_ROOT/.rev" - name: Hold every declared pin to the Cargo.lock revision shell: bash