name: Test on: push: branches: - main pull_request: env: POETRY_VERSION: "1.5.1" jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: - "3.9" - "3.10" - "3.11" # - "3.12" steps: - uses: actions/checkout@v4 - name: Cache Poetry uses: actions/cache@v3 with: path: ~/.poetry key: ${{ runner.os }}-poetry-${{ hashFiles('**/poetry.lock') }} restore-keys: | ${{ runner.os }}-poetry- - name: Install poetry run: | pipx install poetry==$POETRY_VERSION - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: poetry - name: Install dependencies run: | poetry install --all-extras - name: Install nltk run: | pip install nltk - name: Download nltk data run: | python -m nltk.downloader punkt stopwords wordnet - name: Pytest All env: PINECONE_API_KEY: ${{ secrets.PINECONE_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: | make test - name: Upload coverage to Codecov uses: codecov/codecov-action@v2 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} with: file: ./coverage.xml fail_ci_if_error: false