Merge branch 'main' into release-please--branches--main--components--… #4750
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 | |
on: | |
push: | |
branches-ignore: | |
- main | |
env: | |
DSP_TOOLS_TESTING: true | |
jobs: | |
build-docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: build docs | |
run: poetry run mkdocs build --strict | |
- name: check external links in docs | |
run: | | |
npm install -g markdown-link-validator | |
poetry exec check-links | |
- name: markdownlint | |
run: poetry exec markdownlint | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: Linting with ruff | |
run: poetry exec ruff-check-github | |
- name: Check formatting with ruff | |
run: poetry exec ruff-format-check | |
- name: Linting with mypy | |
run: poetry exec mypy | |
- name: Linting with darglint | |
run: poetry exec darglint | |
unittests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: unittests | |
run: poetry exec unittests | |
integration-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: integration-tests | |
run: poetry exec integration-tests | |
benchmarking: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: benchmarking | |
run: poetry run pytest -s test/benchmarking/ | |
e2e-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: e2e-tests | |
run: poetry exec e2e-tests | |
legacy-e2e-tests: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install poetry, python, and dependencies | |
uses: ./.github/actions/setup | |
- name: start stack | |
run: poetry run dsp-tools start-stack --no-prune --with-test-data | |
- name: legacy e2e tests | |
run: poetry exec legacy-e2e-tests | |
- name: stop stack # see if this command can run (it isn't tested anywhere else) | |
run: poetry run dsp-tools stop-stack | |
- name: make logging file available | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: logging.log | |
path: /home/runner/.dsp-tools/logging.log | |
compression-level: 0 | |
distribution: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout dsp-tools repo | |
uses: actions/checkout@v4 | |
- name: Install python & poetry, build & install wheel, install pytest | |
uses: ./.github/actions/setup-from-wheel | |
- name: distribution tests | |
run: pytest --noconftest test/distribution/ | |
# Reason for the --noconftest flag: | |
# test/conftest.py configures logging, but loguru should not be installed for the distribution tests |