Develop #5
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: Tests | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main, develop] | |
| tags: ["v*"] | |
| permissions: | |
| contents: read | |
| jobs: | |
| test-rust: | |
| name: Rust tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Run Rust tests | |
| run: cargo test -p badwords-core | |
| test-python: | |
| name: Python tests (${{ matrix.python-version }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11", "3.12", "3.13"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: pip | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Create venv | |
| run: python -m venv .venv | |
| - name: Install dependencies | |
| run: | | |
| source .venv/bin/activate | |
| python -m pip install --upgrade pip | |
| pip install maturin | |
| cd python && maturin develop --release | |
| - name: Install dev dependencies | |
| run: source .venv/bin/activate && pip install pytest pytest-benchmark | |
| - name: Run Python tests | |
| run: source .venv/bin/activate && pytest tests/ -v -m "not benchmark" | |
| test-wasm: | |
| name: WASM tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-unknown-unknown | |
| - name: Install wasm-pack | |
| run: cargo install wasm-pack | |
| - name: Run WASM tests | |
| run: cd rust/badwords-wasm && wasm-pack test --node |