Files
rustfs/.github/actions/setup/action.yml
2025-06-13 18:12:19 +08:00

54 lines
1.3 KiB
YAML

name: "setup"
description: "setup environment for rustfs"
inputs:
rust-version:
required: true
default: "stable"
description: "Rust version to use"
cache-shared-key:
required: true
default: ""
description: "Cache key for shared cache"
cache-save-if:
required: true
default: ${{ github.ref == 'refs/heads/main' }}
description: "Cache save condition"
runs-on:
required: true
default: "ubuntu-latest"
description: "Running system"
runs:
using: "composite"
steps:
- name: Install system dependencies
if: inputs.runs-on == 'ubuntu-latest'
shell: bash
run: |
sudo apt update
sudo apt install -y musl-tools build-essential lld libdbus-1-dev libwayland-dev libwebkit2gtk-4.1-dev libxdo-dev
- uses: arduino/setup-protoc@v3
with:
version: "31.1"
- uses: Nugine/setup-flatc@v1
with:
version: "25.2.10"
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ inputs.rust-version }}
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
cache-all-crates: true
shared-key: ${{ inputs.cache-shared-key }}
save-if: ${{ inputs.cache-save-if }}
- uses: mlugg/setup-zig@v2
- uses: taiki-e/install-action@cargo-zigbuild