render YAML #445
Workflow file for this run
This file contains hidden or 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: build-test | |
| on: | |
| push: | |
| branches: | |
| - '*' | |
| tags-ignore: | |
| - '*' | |
| paths-ignore: | |
| - '**/*.md' | |
| - '**/.gitignore' | |
| - '**/dependabot.yml' | |
| - 'src-mcp/**' | |
| jobs: | |
| setup: | |
| runs-on: "macos-latest" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache Rust dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| src-tauri/target | |
| ~/.cargo | |
| key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-rust- | |
| - name: setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| - name: install pnpm | |
| run: | | |
| npm install -g pnpm | |
| - name: Cache pnpm dependencies | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: install frontend dependencies | |
| run: | | |
| pnpm install | |
| lint-and-test: | |
| needs: setup | |
| runs-on: "macos-latest" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Restore Rust dependencies cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| src-tauri/target | |
| ~/.cargo | |
| key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-rust- | |
| - name: setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| - name: install pnpm | |
| run: | | |
| npm install -g pnpm | |
| - name: Restore pnpm dependencies cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: install frontend dependencies if needed | |
| run: | | |
| if [ ! -d "node_modules" ]; then | |
| pnpm install | |
| fi | |
| - name: display version info | |
| run: | | |
| pnpm tauri info | |
| - name: verify LF line endings | |
| shell: bash | |
| run: | | |
| set -euo pipefail | |
| crlf_lines="$(git ls-files --eol | awk '$2 == "w/crlf" { print }')" | |
| if [[ -n "${crlf_lines}" ]]; then | |
| echo "CRLF detected in tracked files:" | |
| echo "${crlf_lines}" | |
| exit 1 | |
| fi | |
| - name: run ESLint | |
| run: | | |
| pnpm exec eslint . | |
| - name: verify formatting | |
| run: | | |
| cargo fmt --manifest-path src-tauri/Cargo.toml | |
| pnpm exec eslint --fix "src/**/*.js" "*.config.js" "src-mcp/**/*.js" | |
| git diff --exit-code | |
| - name: run Rust tests | |
| run: | | |
| cd src-tauri | |
| cargo test | |
| build: | |
| needs: setup | |
| runs-on: "macos-latest" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Restore Rust dependencies cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| src-tauri/target | |
| ~/.cargo | |
| key: ${{ runner.os }}-rust-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-rust- | |
| - name: setup node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: lts/* | |
| - name: install pnpm | |
| run: | | |
| npm install -g pnpm | |
| - name: Restore pnpm dependencies cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.pnpm-store | |
| node_modules | |
| key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-pnpm- | |
| - name: install frontend dependencies if needed | |
| run: | | |
| if [ ! -d "node_modules" ]; then | |
| pnpm install | |
| fi | |
| - name: display version info | |
| run: | | |
| pnpm tauri info | |
| - name: try to build | |
| run: | | |
| pnpm tauri build |