Docs #19
Workflow file for this run
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: Run Pytests | |
on: | |
push: | |
paths: | |
- '**.py' | |
- '**.toml' | |
- '**.yml' | |
- '**.yaml' | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
paths: | |
- '**.py' | |
- '**.toml' | |
- '**.yml' | |
- '**.yaml' | |
defaults: | |
run: | |
shell: bash | |
env: | |
LANG: en_US.utf-8 | |
LC_ALL: en_US.utf-8 | |
PYTHON_VERSION: '3.10' | |
PROJECT_NAME: volttron-lib-web | |
jobs: | |
run-tests: | |
strategy: | |
matrix: | |
os: [ubuntu-22.04] | |
python: ['3.10', '3.11'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" | |
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." | |
#---------------------------------------------- | |
# check-out repo and set-up python | |
#---------------------------------------------- | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python }} | |
id: setup-python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python }} | |
#---------------------------------------------- | |
# ----- install & configure poetry ----- | |
#---------------------------------------------- | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
version: 1.2.2 | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
# #---------------------------------------------- | |
# # load cached venv if cache exists | |
# #---------------------------------------------- | |
# - name: Load cached venv | |
# id: cached-poetry-dependencies | |
# uses: actions/[email protected] | |
# with: | |
# path: .venv | |
# key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} | |
# #---------------------------------------------- | |
# # install dependencies if cache does not exist | |
# #---------------------------------------------- | |
# - name: Install dependencies | |
# if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
# run: poetry install --no-interaction --no-root | |
#---------------------------------------------- | |
# install your root project, and run tests. | |
#---------------------------------------------- | |
- name: Install library and run tests | |
run: | | |
poetry install --no-interaction | |
poetry add --group dev pytest-github-actions-annotate-failures | |
poetry run pytest --cov=src tests/integration_tests/ | |
poetry run pytest --cov=src tests/unit_tests/ |