WIP - Add backend tests on Windows to tests workflow #1208
This file contains 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: | |
push: | |
schedule: | |
- cron: '0 2 * * *' | |
env: | |
RUST_VERSION: "1.68.2" | |
jobs: | |
check_frontend: | |
name: Frontend Checks | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- 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: Install dependencies | |
run: | | |
pip install setuptools_scm | |
- 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: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: | | |
setup.cfg | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --user -e .[devel] | |
echo "PYTHONPATH=$PWD" >> $GITHUB_ENV | |
- 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 | |
with: | |
submodules: true | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: | | |
setup.cfg | |
- 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 | |
python -m pip install --upgrade pip | |
pip install build setuptools_scm | |
cargo install --locked trunk | |
- name: Test | |
run: | | |
make test_installation | |
test_frontend: | |
name: Frontend Tests | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- 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: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: | | |
setup.cfg | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --user -e .[devel] | |
echo "PYTHONPATH=$PWD" >> $GITHUB_ENV | |
- name: Test | |
run: | | |
make test_backend | |
test_backend_windows: | |
name: Backend Tests on Windows | |
runs-on: windows-2022 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: | | |
setup.cfg | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install --user -e .[devel] | |
echo "PYTHONPATH=$PWD" >> $GITHUB_ENV | |
- 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: Set up Python ${{ env.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.python-version }} | |
cache: pip | |
cache-dependency-path: | | |
setup.cfg | |
- 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 | |
python -m pip install --upgrade pip | |
pip install build setuptools_scm | |
pip install --user -e .[devel] | |
cargo install --locked trunk | |
echo "PYTHONPATH=$PWD" >> $GITHUB_ENV | |
- name: Test | |
run: | | |
make test_e2e |