Skip to content

tests

tests #1518

Workflow file for this run

name: tests
on:
push:
pull_request:
schedule:
- cron: '0 2 * * 6'
env:
PYTHON_VERSION: "3.11"
RUST_VERSION: "1.81"
TRUNK_VERSION: "0.17.5"
UV_VERSION: "0.4.20"
jobs:
check_general:
name: General Checks
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install dependencies
run: |
uv sync
- name: Check
run: |
make check_general
check_frontend:
name: Frontend Checks
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${{ env.RUST_VERSION }}
echo ~/.cargo/bin >> $GITHUB_PATH
- name: Check
run: |
make check_frontend
check_backend:
name: Backend Checks
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
target: [black, ruff, mypy]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
uv sync
- name: Check
run: |
make check_${{ matrix.target }}
test_installation:
name: Installation Test
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${{ env.RUST_VERSION }} --target wasm32-unknown-unknown --profile minimal
echo ~/.cargo/bin >> $GITHUB_PATH
- uses: Swatinem/rust-cache@v2
with:
workspaces: frontend
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libarchive-tools
cargo install --locked trunk@${{ env.TRUNK_VERSION }}
- name: Test
run: |
make test_installation
test_frontend:
name: Frontend Tests
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${{ env.RUST_VERSION }} --profile minimal
echo ~/.cargo/bin >> $GITHUB_PATH
- name: Check
run: |
make test_frontend
test_backend:
name: Backend Tests
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
uv sync
- name: Test
run: |
make test_backend
test_e2e:
name: End-to-End Tests
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${{ env.RUST_VERSION }} --target wasm32-unknown-unknown --profile minimal
echo ~/.cargo/bin >> $GITHUB_PATH
- uses: Swatinem/rust-cache@v2
with:
workspaces: frontend
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libarchive-tools
uv sync
cargo install --locked trunk@${{ env.TRUNK_VERSION }}
- name: Test
run: |
make test_e2e
test_latest_dependencies:
name: Latest Dependencies
if: ${{ github.event_name == 'schedule' }}
runs-on: ubuntu-22.04
env:
PYTHON_VERSION: "3.x"
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: ${{ env.UV_VERSION }}
enable-cache: true
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Set up Rust
run: |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable --target wasm32-unknown-unknown --profile minimal
echo ~/.cargo/bin >> $GITHUB_PATH
- uses: Swatinem/rust-cache@v2
with:
workspaces: frontend
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install libarchive-tools
uv lock --upgrade
uv sync
cargo update --manifest-path=frontend/Cargo.toml
cargo install --locked trunk
- name: Test
run: |
make test
test_latest_release:
name: Latest Release
if: ${{ github.event_name == 'schedule' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install latest PyPI release
run: |
pip install valens
- name: Test
run: |
valens --version