--- name: Python Unittests on: pull_request: branches: - develop push: branches: - develop - main workflow_dispatch: jobs: unittest: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.8', '3.9', '3.10'] steps: - name: Checkout code uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} - name: Setup config run: cp config/.env.example config/.env.local - name: Install Poetry uses: snok/install-poetry@v1 with: virtualenvs-create: true virtualenvs-in-project: true installer-parallel: true - name: Load cached venv id: cached-poetry-dependencies uses: actions/cache@v2 with: path: .venv key: venv-${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/poetry.lock') }} - name: Install dependencies if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' run: poetry install --no-interaction --no-root - name: Install library run: poetry install --no-interaction - name: Run Tests run: poetry run python -m unittest discover -s tests