Skip to content

[pipes] refactor Pipes tests interface #50

[pipes] refactor Pipes tests interface

[pipes] refactor Pipes tests interface #50

name: dagster-pipes-rust
on:
pull_request:
types: [opened, synchronize, reopened, closed]
paths:
- "libraries/pipes/tests/dagster-pipes-tests/**"
- "libraries/pipes/implementations/rust/**"
- ".github/workflows/libraries-pipes-rust.yml"
defaults:
run:
working-directory: ./libraries/pipes/implementations/rust/
env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
CARGO_TERM_COLOR: always
RUSTUP_MAX_RETRIES: 10
jobs:
lint:
name: "lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: "Install Rustfmt"
run: rustup component add rustfmt
- name: "rustfmt"
run: cargo fmt --all --check
test:
name: "test"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: taiki-e/install-action@v2
with:
tool: nextest
- name: "Install uv"
uses: astral-sh/setup-uv@v4
- name: "Tests"
run: cargo nextest run
- name: "Doctests"
run: cargo test --doc
- name: "Dagster integration tests"
run: uv run pytest
integration:
name: "integration"
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./libraries/pipes/implementations/rust/example-dagster-pipes-rust-project
steps:
- uses: actions/checkout@v4
- name: "Install uv"
uses: astral-sh/setup-uv@v4
- name: "Install Python"
run: uv python install
- name: "Install the project"
run: uv sync --all-extras --dev
- name: "Lint"
run: uv run make ruff
- name: "Tests"
run: uv run pytest example_dagster_pipes_rust_project_tests