Split pybigtools lib.rs into submodules #289
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| branches: | |
| - "**" | |
| jobs: | |
| test-lib: | |
| name: Test bigtools | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.rust == 'nightly' }} | |
| strategy: | |
| matrix: | |
| rust: [stable, nightly] | |
| steps: | |
| - name: Checkout the source code | |
| uses: actions/checkout@v2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Install Rust toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| profile: minimal | |
| override: true | |
| - name: Build without default features | |
| run: cargo build --no-default-features | |
| - name: Build with all features | |
| run: cargo build --all-features | |
| - name: Check with read feature | |
| run: cargo check --features read | |
| - name: Build with write feature | |
| run: cargo build --features write | |
| - name: Execute all tests | |
| run: cargo test --all | |
| test-python: | |
| name: Test pybigtools | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Rust toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| override: true | |
| - name: Setup Python environment | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| working-directory: "pybigtools" | |
| python-version: ${{ matrix.python-version }} | |
| - name: Run tests | |
| run: | | |
| cd pybigtools | |
| uv run pytest | |
| lint-rust: | |
| name: Lint Rust | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout the source code | |
| uses: actions/checkout@v2 | |
| with: | |
| fetch-depth: 1 | |
| - name: Install Rust toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| profile: minimal | |
| override: true | |
| components: rustfmt | |
| - name: Check formatting of all crates in the workspace | |
| run: cargo fmt --all -- --check | |
| lint-python: | |
| name: Lint Python | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - uses: astral-sh/setup-uv@v6 | |
| with: | |
| working-directory: "pybigtools" | |
| - run: | | |
| cd pybigtools | |
| uv run ruff format --check | |
| uv run ruff check |