44 lines
1.6 KiB
YAML
44 lines
1.6 KiB
YAML
# This workflow is used to run pytest and confirm
|
|
# that Linux builds meet the pytest requirements for the project.
|
|
|
|
name: Pytest Run (Linux)
|
|
|
|
# Controls when the action will run.
|
|
on:
|
|
# Triggers the workflow on push or pull request events but only for the develop branch
|
|
push:
|
|
branches: [ develop ]
|
|
pull_request:
|
|
branches: [ develop ]
|
|
|
|
# Allows you to run this workflow manually from the Actions tab
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
test:
|
|
name: Running pytest ${{ matrix.python_version }} and ${{ matrix.os }}
|
|
# The type of runner that the job will run on
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
# https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
|
|
python-version: [3.9]
|
|
os: [ubuntu-20.04]
|
|
|
|
# Steps represent a sequence of tasks that will be executed as part of the job
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pyqt5==5.15.7 lxml pytest pytest-faulthandler
|
|
sudo apt-get -qq update
|
|
sudo apt-get -qq install python3-pip python3-dev build-essential qt5-default libxml2-dev libxslt1-dev mesa-utils libgl1-mesa-glx libgl1-mesa-dev libxcb-xinerama0-dev
|
|
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
|
- name: Test with pytest
|
|
run: |
|
|
xvfb-run -s '-screen 0 640x480x24 +extension GLX' pytest -vs |