Skip to content

render YAML

render YAML #445

Workflow file for this run

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