mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-28 14:07:55 +00:00
Ahead of the 2026-06-02 forced-Node-24 deadline, upgrade the remaining javascript actions flagged in the workflow annotations: - actions/setup-python v5 → v6 - actions/setup-node v4 → v6 (skipping v5) - actions/cache v4 → v5 - actions/deploy-pages v4 → v5 - actions/upload-pages-artifact v3 → v5.0.0 upload-pages-artifact has no rolling @v5 major tag — only the specific v5.0.0 release — so it gets an explicit pin, same as astral-sh/setup-uv. Not touched: swatinem/rust-cache@v2 (still on v2 majors, not flagged), dtolnay/rust-toolchain@stable (composite), tauri-apps/tauri-action@v0 (composite), anthropics/claude-code-action@v1 (still latest major). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
96 lines
2.1 KiB
YAML
96 lines
2.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v8.0.0
|
|
|
|
- name: Install dependencies
|
|
run: uv sync --extra dev
|
|
|
|
- name: Ruff check
|
|
run: uv run ruff check src/ tests/
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install Rust toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Cargo cache
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
rust/target
|
|
key: rust-${{ runner.os }}-${{ hashFiles('rust/Cargo.lock') }}
|
|
restore-keys: rust-${{ runner.os }}-
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v8.0.0
|
|
|
|
- name: Install dependencies
|
|
run: uv sync --extra dev
|
|
|
|
- name: Build Rust extension
|
|
run: uv run maturin develop --manifest-path rust/crates/openjarvis-python/Cargo.toml
|
|
|
|
- name: Run tests
|
|
run: uv run pytest tests/ -v --tb=short -m "not live and not cloud"
|
|
|
|
rust:
|
|
runs-on: ubuntu-latest
|
|
defaults:
|
|
run:
|
|
working-directory: rust
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Install Rust toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
|
|
- name: Cargo cache
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: |
|
|
~/.cargo/registry
|
|
~/.cargo/git
|
|
rust/target
|
|
key: rust-${{ runner.os }}-${{ hashFiles('rust/Cargo.lock') }}
|
|
restore-keys: rust-${{ runner.os }}-
|
|
|
|
- name: Clippy
|
|
run: cargo clippy --workspace --all-targets -- -D warnings
|
|
|
|
- name: Test
|
|
run: cargo test --workspace
|