Skip to content

feat(tree): add tree view display mode (#004) #47

feat(tree): add tree view display mode (#004)

feat(tree): add tree view display mode (#004) #47

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build-and-test:
runs-on: windows-latest
strategy:
matrix:
target: [x86_64-pc-windows-msvc, aarch64-pc-windows-msvc]
configuration: [debug, release]
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
target: ${{ matrix.target }}
components: clippy
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-${{ matrix.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-${{ matrix.target }}-cargo-
- name: Build (debug)
if: matrix.configuration == 'debug'
run: cargo build --target ${{ matrix.target }}
- name: Build (release)
if: matrix.configuration == 'release'
run: cargo build --target ${{ matrix.target }} --release
- name: Run Clippy
run: cargo clippy --target ${{ matrix.target }} -- -D warnings
- name: Run Tests (debug)
if: matrix.target == 'x86_64-pc-windows-msvc' && matrix.configuration == 'debug'
run: cargo test --target ${{ matrix.target }}
- name: Run Tests (release)
if: matrix.target == 'x86_64-pc-windows-msvc' && matrix.configuration == 'release'
run: cargo test --target ${{ matrix.target }} --release
- name: Upload Release Binaries
uses: actions/upload-artifact@v4
if: matrix.configuration == 'release'
with:
name: rcdir-${{ matrix.target }}
path: target/${{ matrix.target }}/release/rcdir.exe
retention-days: 30