Skip to content

FIXME

FIXME #1326

Workflow file for this run

name: tests
on:
push:
schedule:
- cron: '0 2 * * 6'
env:
RUST_VERSION: "1.68.2"
POETRY_VERSION: "1.7.1"
POETRY_DYNAMIC_VERSIONING_VERSION: "1.2.0"
jobs:
check_frontend:
name: Frontend Checks
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- 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-20.04
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
target: [black, ruff, mypy]
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: poetry
- name: Install dependencies
run: |
poetry install
- name: Check
run: |
make check_${{ matrix.target }}
test_installation:
name: Installation Test
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: poetry
- 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 install libarchive-tools
cargo build --manifest-path=frontend/Cargo.toml
- name: Test
run: |
make test_installation
test_frontend:
name: Frontend Tests
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- 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-20.04
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: poetry
- name: Install dependencies
run: |
poetry install
- name: Test
run: |
make test_backend
test_e2e:
name: End-to-End Tests
runs-on: ubuntu-20.04
env:
python-version: "3.10"
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- name: Set up Python ${{ env.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.python-version }}
cache: poetry
- 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 install libarchive-tools
poetry install
cargo build --manifest-path=frontend/Cargo.toml
- name: Use latest dependencies
run: |
rustup update stable && rustup default stable
cargo update --manifest-path=frontend/Cargo.toml
poetry lock
- name: Test
run: |
make test_e2e
test_latest_dependencies:
name: Latest Dependencies
#if: ${{ github.event_name == "schedule" }
runs-on: ubuntu-20.04
env:
python-version: "3.10"
steps:
- uses: actions/checkout@v3
- name: Install Poetry
run: |
pipx install poetry==${{ env.POETRY_VERSION }}
pipx inject poetry poetry-dynamic-versioning==${{ env.POETRY_DYNAMIC_VERSIONING_VERSION }}
- name: Set up Python ${{ env.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.python-version }}
cache: poetry
- 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 install libarchive-tools
poetry lock
poetry install
cargo update --manifest-path=frontend/Cargo.toml
cargo build --manifest-path=frontend/Cargo.toml
- name: Test
run: |
make test