Skip to content

feat(workspace): add worktree-based isolated development functionality #397

feat(workspace): add worktree-based isolated development functionality

feat(workspace): add worktree-based isolated development functionality #397

Workflow file for this run

name: Tests
on:
push:
branches:
- master
paths:
- "crates/*/Cargo.toml"
- "src/**"
- "python/**"
- "packages/*/python/**"
- "packages/*/src/**"
- "**/pyproject.toml"
- "**/cargo.toml"
pull_request:
branches:
- master
paths:
- "crates/*/Cargo.toml"
- "src/**"
- "python/**"
- "packages/*/python/**"
- "packages/*/src/**"
- "**/pyproject.toml"
- "**/cargo.toml"
permissions:
contents: read
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ windows-latest, ubuntu-latest, ubuntu-24.04-arm, macos-latest ]
python-version: [ "3.14" ]
steps:
- name: Checkout repository
uses: actions/checkout@v6
- uses: extractions/setup-just@v3
with:
github-token: ${{ secrets.PAT }}
- name: Install the latest version of uv
uses: astral-sh/setup-uv@v7
with:
version: "latest"
- name: Install nightly rust
run: |
rustup default nightly
- name: Install Protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.PAT }}
- uses: actions/setup-node@v6
name: Setup Node.js
continue-on-error: true
with:
node-version: 22
cache: 'pnpm'
cache-dependency-path: 'packages/fabricatio-webui/frontend/pnpm-lock.yaml'
- uses: pnpm/action-setup@v4
with:
version: 10
- name: Cache cargo registry
id: cache-registry
uses: actions/cache@v5
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-registry-v1
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
- name: Install deps
run: |
uv sync --no-install-project --only-dev --index https://pypi.org/simple -p ${{ matrix.python-version }}
- name: Compile extensions
run: |
just dev ${{ matrix.python-version }}
- name: Test
run: |
just test
shell: bash
- name: Upload coverage to Codecov
if: github.event_name != 'pull_request'
continue-on-error: true
run: |
uv run coveralls
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}