fix(tests): don't use chisel slices in 'devel' bases (#564) #35
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: | |
pull_request: | |
push: | |
branches: | |
- main | |
jobs: | |
linters: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Install packages | |
run: | | |
sudo apt update | |
sudo apt install -y libapt-pkg-dev aspell aspell-en | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install python packages and dependencies | |
run: | | |
pip install -U wheel -r requirements-jammy.txt -r requirements.txt -r requirements-dev.txt | |
pip install -e . | |
- name: Run black | |
run: | | |
make test-black | |
- name: Run codespell | |
run: | | |
make test-codespell | |
- name: Run flake8 | |
run: | | |
make test-flake8 | |
- name: Run mypy | |
run: | | |
make test-mypy | |
- name: Run pydocstyle | |
run: | | |
make test-pydocstyle | |
- name: Run pyright | |
run: | | |
sudo snap install --classic node | |
sudo snap install --classic pyright | |
make test-pyright | |
- name: Run pylint | |
run: | | |
make test-pylint | |
- name: Run sphinx-lint | |
run: | | |
make test-sphinx-lint | |
- name: Run shellcheck | |
run: | | |
sudo snap install shellcheck | |
make test-shellcheck | |
- name: Run linkcheck,woke,spelling | |
run: | | |
sudo snap install woke | |
make test-docs | |
tests: | |
strategy: | |
matrix: | |
os: [ubuntu-22.04, windows-2019] | |
python-version: ["3.10", "3.12"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python ${{ matrix.python-version }} on ${{ matrix.os }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install python packages and dependencies | |
run: | | |
pip install -U wheel | |
- name: Install Ubuntu-specific dependencies | |
if: ${{ startsWith(matrix.os, 'ubuntu') }} | |
run: | | |
sudo apt update | |
sudo apt install -y python3-pip python3-setuptools python3-wheel python3-venv libapt-pkg-dev | |
- name: Install Ubuntu 22.04-specific dependencies | |
if: ${{ matrix.os == 'ubuntu-22.04' }} | |
run: | | |
pip install -U -r requirements-jammy.txt | |
# 22.04 is the only one that has an 'umoci' package | |
sudo apt install -y umoci | |
- name: Install dependencies | |
run: | | |
pip install -U -r requirements.txt -r requirements-dev.txt | |
pip install -e . | |
- name: Run unit tests | |
run: | | |
make test-units | |
- name: Run integration tests | |
run: | | |
make test-integrations | |