name: Test on: push: pull_request_target: branches: - main jobs: release: runs-on: ubuntu-latest strategy: matrix: python-version: ['3.9', '3.10', '3.11'] steps: - uses: actions/checkout@v2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} - name: Cache Poetry virtualenv uses: actions/cache@v3 with: path: ~/.cache/pypoetry/virtualenvs key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} restore-keys: | ${{ runner.os }}-poetry- - name: Install Poetry uses: snok/install-poetry@v1.3.1 - name: Install dependencies run: poetry install --with dev - name: Run tests run: poetry run pytest tests/ -k "not openai" env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - name: Generate coverage report if: matrix.python-version == '3.1' run: | poetry run coverage run -m pytest tests/ -k "not openai" poetry run coverage report poetry run coverage html env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} - name: Coveralls GitHub Action if: matrix.python-version == '3.11' uses: coverallsapp/github-action@v2.2.3 with: github-token: ${{ secrets.GITHUB_TOKEN }}