mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-04-20 14:38:58 -04:00
49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
name: Setup Rust and Prisma
|
|
description: Setup Rust and Prisma
|
|
inputs:
|
|
targets:
|
|
description: Comma-separated list of target triples to install for this toolchain
|
|
required: false
|
|
save-cache:
|
|
description: Whether to save the Rust cache
|
|
required: false
|
|
default: 'false'
|
|
runs:
|
|
using: 'composite'
|
|
steps:
|
|
- name: Install Rust
|
|
id: toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
targets: ${{ inputs.targets }}
|
|
toolchain: stable
|
|
components: clippy, rustfmt
|
|
|
|
- name: Cache Rust Dependencies
|
|
uses: Swatinem/rust-cache@v2
|
|
with:
|
|
save-if: ${{ inputs.save-cache }}
|
|
prefix-key: 'v0-rust-deps'
|
|
shared-key: ${{ inputs.targets }}
|
|
|
|
- name: Restore cached Prisma codegen
|
|
id: cache-prisma-restore
|
|
uses: actions/cache/restore@v3
|
|
with:
|
|
key: prisma-1-${{ runner.os }}-${{ hashFiles('./core/prisma/*', './crates/sync-generator/*', './Cargo.toml') }}
|
|
path: crates/prisma/src/**/*.rs
|
|
|
|
- name: Generate Prisma client
|
|
working-directory: core
|
|
if: ${{ steps.cache-prisma-restore.outputs.cache-hit != 'true' }}
|
|
shell: bash
|
|
run: cargo prisma generate
|
|
|
|
- name: Save Prisma codegen
|
|
id: cache-prisma-save
|
|
if: ${{ inputs.save-cache == 'true' }}
|
|
uses: actions/cache/save@v3
|
|
with:
|
|
key: ${{ steps.cache-prisma-restore.outputs.cache-primary-key }}
|
|
path: crates/prisma/src/**/*.rs
|