pict-rs/.forgejo/actions/prepare-rust/action.yaml

64 lines
1.7 KiB
YAML
Raw Normal View History

2024-02-07 22:27:23 +00:00
name: Prepare Rust
description: Prepare an environment to build or test rust packages
inputs:
targets:
2024-02-08 01:22:56 +00:00
description: "Array of targets to add to rustup"
2024-02-07 22:27:23 +00:00
required: false
2024-02-08 01:22:56 +00:00
default: []
2024-02-07 22:27:23 +00:00
runs:
using: "composite"
steps:
2024-02-07 22:50:17 +00:00
-
name: Install zig
uses: https://github.com/goto-bus-stop/setup-zig@v2
with:
version: 0.11.0
2024-02-07 22:27:23 +00:00
-
name: Fetch rust cache
id: cache
uses: https://github.com/actions/cache/restore@v4
with:
2024-02-07 22:31:01 +00:00
path: |
2024-02-07 22:27:23 +00:00
~/.cargo/bin
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git/db
~/.rustup
target/
2024-02-08 01:22:56 +00:00
key: rust-${{ join(inputs.targets, '-') }}-${{ hashFiles('Cargo.toml') }}-${{ hashFiles('Cargo.lock')}}
2024-02-07 22:27:23 +00:00
-
name: Install rustup and rust
if: steps.cache.outputs.cache-hit != 'true'
uses: https://github.com/dtolnay/rust-toolchain@1.75.0
with:
components: clippy
2024-02-08 01:22:56 +00:00
targets: ${{ join(inputs.targets, ',') }}
2024-02-07 22:27:23 +00:00
-
name: Install cargo-zigbuild
2024-02-07 22:45:12 +00:00
if: steps.cache.outputs.cache-hit != 'true'
2024-02-08 01:22:56 +00:00
run: cargo install cargo-zigbuild
2024-02-07 22:27:23 +00:00
-
name: Fetch dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: cargo fetch
-
name: Export path
if: steps.cache.outputs.cache-hit == 'true'
run: |
export PATH=$PATH:$HOME/.cargo/bin
export PATH=$PATH:$HOME/.rustup/bin
-
name: Populate rust cache
2024-02-07 22:39:53 +00:00
uses: https://github.com/actions/cache/save@v4
2024-02-07 22:27:23 +00:00
with:
2024-02-07 22:31:01 +00:00
path: |
2024-02-07 22:27:23 +00:00
~/.cargo/bin
~/.cargo/registry/index
~/.cargo/registry/cache
~/.cargo/git/db
~/.rustup
target/
key: ${{ steps.cache.outputs.cache-primary-key }}