[chore](trx-rs): drop redundant CI setup steps for baked runner image
The host-executor runners run jobs inside one container that already has
the Rust toolchain and all build dependencies baked in, so the per-job
`apt-get install` and rustup steps were redundant. Worse, with two jobs
running concurrently in the same runner they collided on the dpkg lock
("Could not get lock /var/lib/dpkg/lock-frontend").
Remove the system-dependency, rustup and cache steps; jobs now run cargo
directly. The cargo registry persists in the long-lived runner container.
Assisted-By: Claude Code (claude-opus-4)
Claude-Session: https://claude.ai/code/session_01NFpGtGTWUEYXLwZeZs2RAV
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
+9
-71
@@ -2,6 +2,11 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
|
# CI for the self-hosted, host-executor Podman runners (see container/).
|
||||||
|
# The runner image bakes in the Rust toolchain and all build dependencies,
|
||||||
|
# so jobs go straight to cargo — no apt/rustup setup steps (which also
|
||||||
|
# collided on the dpkg lock when jobs ran concurrently in the same runner).
|
||||||
|
|
||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
@@ -17,86 +22,19 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install system dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y --no-install-recommends \
|
|
||||||
build-essential pkg-config cmake clang libclang-dev \
|
|
||||||
libopus-dev libasound2-dev libsoapysdr-dev
|
|
||||||
|
|
||||||
- name: Set up Rust
|
|
||||||
run: |
|
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
if ! command -v rustup >/dev/null 2>&1; then
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
|
||||||
| sh -s -- -y --profile minimal
|
|
||||||
fi
|
|
||||||
rustup toolchain install stable --profile minimal \
|
|
||||||
--component rustfmt --component clippy
|
|
||||||
rustup default stable
|
|
||||||
|
|
||||||
- name: Cache cargo
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/registry
|
|
||||||
~/.cargo/git
|
|
||||||
target
|
|
||||||
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
|
|
||||||
restore-keys: cargo-${{ runner.os }}-
|
|
||||||
|
|
||||||
- name: rustfmt
|
- name: rustfmt
|
||||||
run: |
|
run: cargo fmt --all -- --check
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
cargo fmt --all -- --check
|
|
||||||
|
|
||||||
- name: clippy
|
- name: clippy
|
||||||
run: |
|
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
cargo clippy --workspace --all-targets --all-features -- -D warnings
|
|
||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Install system dependencies
|
|
||||||
run: |
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y --no-install-recommends \
|
|
||||||
build-essential pkg-config cmake clang libclang-dev \
|
|
||||||
libopus-dev libasound2-dev libsoapysdr-dev
|
|
||||||
|
|
||||||
- name: Set up Rust
|
|
||||||
run: |
|
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
if ! command -v rustup >/dev/null 2>&1; then
|
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
|
|
||||||
| sh -s -- -y --profile minimal
|
|
||||||
fi
|
|
||||||
rustup toolchain install stable --profile minimal
|
|
||||||
rustup default stable
|
|
||||||
|
|
||||||
- name: Cache cargo
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cargo/registry
|
|
||||||
~/.cargo/git
|
|
||||||
target
|
|
||||||
key: cargo-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
|
|
||||||
restore-keys: cargo-${{ runner.os }}-
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: cargo build --workspace --all-targets --locked
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
cargo build --workspace --all-targets --locked
|
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: |
|
run: cargo test --workspace --locked
|
||||||
export PATH="$HOME/.cargo/bin:$PATH"
|
|
||||||
cargo test --workspace --locked
|
|
||||||
|
|
||||||
reuse:
|
reuse:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
Reference in New Issue
Block a user