improving rust setup #28
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test-workflow | |
on: push | |
jobs: | |
test: | |
name: Test | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Set up Bun | |
uses: oven-sh/setup-bun@v1 | |
with: | |
bun-version: 1.1.27 | |
- name: Install dependencies | |
run: bun install | |
- name: Run JavaScript/TypeScript tests | |
run: bun run test | |
- name: Set up Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: nightly | |
override: true | |
- name: Install Rustfmt | |
run: rustup component add rustfmt --toolchain nightly | |
- name: Install Clippy | |
run: rustup component add clippy --toolchain nightly | |
- name: Run Clippy | |
run: cargo clippy --workspace --package geometry -- -D warnings | |
shell: bash | |
- name: Build Rust project | |
run: cargo +nightly build | |
shell: bash | |
- name: Check Formatting | |
run: cargo +nightly fmt -- --check | |
shell: bash | |
- name: Run Rust tests | |
run: cargo +nightly test --lib | |
shell: bash |