Replace cargo installs with dotslash binaries, inline CI setup
Tools (grcov, just, zizmor) are now dotslash files in bin/ with pinned
versions. Only rustup components are cached. Removed composite action
since it was only used in one job.
Assisted-by: GLM-5 via pi
diff --git a/.gitea/actions/setup-rust/action.yml b/.gitea/actions/setup-rust/action.yml
deleted file mode 100644
index 58279f2..0000000
--- a/.gitea/actions/setup-rust/action.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-name: Setup Rust
-description: Install rustup, add cargo to PATH, and restore cargo cache
-
-inputs:
- cache-key-suffix:
- description: Suffix for the cache key (bump to force bust)
- required: false
- default: v1
-
-runs:
- using: composite
- steps:
- - run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
- shell: bash
- - run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- shell: bash
- - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
- with:
- path: |
- ~/.cargo/bin/
- ~/.cargo/registry/index/
- ~/.cargo/registry/cache/
- ~/.cargo/git/db/
- target/
- # Bump suffix to force cache bust after upgrading installed tools.
- key: cargo-${{ runner.os }}-${{ inputs.cache-key-suffix }}-${{ hashFiles('Cargo.lock') }}
- restore-keys: cargo-${{ runner.os }}-${{ inputs.cache-key-suffix }}-
diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml
index 7ac1f4d..099c17c 100644
--- a/.gitea/workflows/ci.yml
+++ b/.gitea/workflows/ci.yml
@@ -14,10 +14,15 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- - uses: ./.gitea/actions/setup-rust
+ - run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+ - run: echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
+ - run: echo "$PWD/bin" >> "$GITHUB_PATH"
+ - uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4
+ with:
+ path: ~/.rustup/
+ # Bump suffix to force cache bust after upgrading rustup.
+ key: rustup-${{ runner.os }}-v1
- run: rustup component add clippy rustfmt llvm-tools
- - run: cargo install grcov
- - run: cargo install just
- run: cargo fmt --check
- run: just clippy coverage
@@ -27,8 +32,7 @@ jobs:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
with:
persist-credentials: false
- - uses: ./.gitea/actions/setup-rust
+ - run: echo "$PWD/bin" >> "$GITHUB_PATH"
# Can't use zizmorcore/zizmor-action because it doesn't support
# auditing .gitea/workflows/ — it rejects them as invalid inputs.
- - run: cargo install --locked zizmor
- run: zizmor .gitea/workflows/* .github
diff --git a/bin/grcov b/bin/grcov
new file mode 100755
index 0000000..2b654ec
--- /dev/null
+++ b/bin/grcov
@@ -0,0 +1,43 @@
+#!/usr/bin/env dotslash
+
+{
+ "name": "grcov",
+ "platforms": {
+ "macos-aarch64": {
+ "size": 2643857,
+ "hash": "blake3",
+ "digest": "91e6ab40733b7ae756e56ec973f7d61f77aac9a47dc00f5d5f8b8106694f6646",
+ "format": "tar.bz2",
+ "path": "grcov",
+ "providers": [
+ {
+ "url": "https://github.com/marco-c/grcov/releases/download/v0.10.7/grcov-aarch64-apple-darwin.tar.bz2"
+ },
+ {
+ "type": "github-release",
+ "repo": "https://github.com/marco-c/grcov",
+ "tag": "v0.10.7",
+ "name": "grcov-aarch64-apple-darwin.tar.bz2"
+ }
+ ]
+ },
+ "linux-x86_64": {
+ "size": 2966094,
+ "hash": "blake3",
+ "digest": "7bc1ce3a29b790eefd3a5e7fa27122d72aea3eb7acccfd6eabcb522a3ae55466",
+ "format": "tar.bz2",
+ "path": "grcov",
+ "providers": [
+ {
+ "url": "https://github.com/marco-c/grcov/releases/download/v0.10.7/grcov-x86_64-unknown-linux-gnu.tar.bz2"
+ },
+ {
+ "type": "github-release",
+ "repo": "https://github.com/marco-c/grcov",
+ "tag": "v0.10.7",
+ "name": "grcov-x86_64-unknown-linux-gnu.tar.bz2"
+ }
+ ]
+ }
+ }
+}
diff --git a/bin/just b/bin/just
new file mode 100755
index 0000000..d88ebfd
--- /dev/null
+++ b/bin/just
@@ -0,0 +1,43 @@
+#!/usr/bin/env dotslash
+
+{
+ "name": "just",
+ "platforms": {
+ "macos-aarch64": {
+ "size": 1893409,
+ "hash": "blake3",
+ "digest": "5a1146a3bbd83f1c1c46b3f17ddce0cc0ede2d72aded73299bcf9ded1c0bef25",
+ "format": "tar.gz",
+ "path": "just",
+ "providers": [
+ {
+ "url": "https://github.com/casey/just/releases/download/1.50.0/just-1.50.0-aarch64-apple-darwin.tar.gz"
+ },
+ {
+ "type": "github-release",
+ "repo": "https://github.com/casey/just",
+ "tag": "1.50.0",
+ "name": "just-1.50.0-aarch64-apple-darwin.tar.gz"
+ }
+ ]
+ },
+ "linux-x86_64": {
+ "size": 2247333,
+ "hash": "blake3",
+ "digest": "1f8b5a214cdc9e11f3bfad738d9f2fe9d72b3f17bf2bb35e582ea9e2cb63e174",
+ "format": "tar.gz",
+ "path": "just",
+ "providers": [
+ {
+ "url": "https://github.com/casey/just/releases/download/1.50.0/just-1.50.0-x86_64-unknown-linux-musl.tar.gz"
+ },
+ {
+ "type": "github-release",
+ "repo": "https://github.com/casey/just",
+ "tag": "1.50.0",
+ "name": "just-1.50.0-x86_64-unknown-linux-musl.tar.gz"
+ }
+ ]
+ }
+ }
+}
diff --git a/bin/zizmor b/bin/zizmor
new file mode 100755
index 0000000..3d7ffb9
--- /dev/null
+++ b/bin/zizmor
@@ -0,0 +1,43 @@
+#!/usr/bin/env dotslash
+
+{
+ "name": "zizmor",
+ "platforms": {
+ "macos-aarch64": {
+ "size": 8313919,
+ "hash": "blake3",
+ "digest": "8dad38093c33652911433d9b3b6c01455bd785257ea38754da129497a4161bf4",
+ "format": "tar.gz",
+ "path": "zizmor",
+ "providers": [
+ {
+ "url": "https://github.com/zizmorcore/zizmor/releases/download/v1.24.1/zizmor-aarch64-apple-darwin.tar.gz"
+ },
+ {
+ "type": "github-release",
+ "repo": "https://github.com/zizmorcore/zizmor",
+ "tag": "v1.24.1",
+ "name": "zizmor-aarch64-apple-darwin.tar.gz"
+ }
+ ]
+ },
+ "linux-x86_64": {
+ "size": 8986317,
+ "hash": "blake3",
+ "digest": "c53be717c392bc73f241441004897f697a895ddfd20595d27df7cf3c15ea6b5c",
+ "format": "tar.gz",
+ "path": "zizmor",
+ "providers": [
+ {
+ "url": "https://github.com/zizmorcore/zizmor/releases/download/v1.24.1/zizmor-x86_64-unknown-linux-gnu.tar.gz"
+ },
+ {
+ "type": "github-release",
+ "repo": "https://github.com/zizmorcore/zizmor",
+ "tag": "v1.24.1",
+ "name": "zizmor-x86_64-unknown-linux-gnu.tar.gz"
+ }
+ ]
+ }
+ }
+}