Skip to content

feat(search): P89 — vector snippet enrich + 관찰 세션 랭킹 강등 (#100) #248

feat(search): P89 — vector snippet enrich + 관찰 세션 랭킹 강등 (#100)

feat(search): P89 — vector snippet enrich + 관찰 세션 랭킹 강등 (#100) #248

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-Dwarnings"
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
web-build:
name: Build web/dist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9
- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm
cache-dependency-path: web/pnpm-lock.yaml
- name: Install + typecheck + build
working-directory: web
run: |
pnpm install --frozen-lockfile
pnpm typecheck
pnpm build
- uses: actions/upload-artifact@v4
with:
name: web-dist
path: web/dist
retention-days: 1
check:
name: Check & Test
needs: web-build
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- name: Cache cargo registry & build
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
# P80: cargo-audit / cargo-nextest 를 pre-built binary 로 install — 매
# run 마다 cargo install 의 컴파일 (~1~2분) 회피.
- name: Install cargo binaries (audit + nextest)
uses: taiki-e/install-action@v2
with:
tool: cargo-audit,cargo-nextest
- name: Download web/dist
uses: actions/download-artifact@v4
with:
name: web-dist
path: web/dist
- name: cargo fmt --check
run: cargo fmt --all -- --check
# P80: `--all-features` 제거. openvino / coreml feature 는 platform-
# specific SDK 필요 + 빌드 시간 큼. default (web-ui) 만 검사로 충분.
- name: cargo clippy
run: cargo clippy --workspace --all-targets
# P80: cargo-nextest 사용 — parallel test runner, 전통 cargo test 대비
# ~30% 빠름. doctest 는 별도 step (nextest 미지원).
- name: cargo nextest run
run: cargo nextest run --workspace --no-fail-fast
- name: cargo test --doc
run: cargo test --doc --workspace
- name: cargo audit
run: cargo audit
continue-on-error: true