# 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