This repository has been archived by the owner on Nov 13, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 122
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #121 from pinecone-io/merge_queue
Support merge queue
- Loading branch information
Showing
4 changed files
with
118 additions
and
57 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Install dependencies and canopy | ||
description: "Installs Poetry, dependencies and optionally canopy library" | ||
inputs: | ||
python-version: | ||
description: "Python version" | ||
required: true | ||
default: "3.9" | ||
install-canopy: | ||
description: "Whether to install canopy library, or dependencies only" | ||
required: true | ||
default: "true" | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Install Poetry | ||
uses: snok/install-poetry@v1 | ||
with: | ||
version: 1.3.2 | ||
virtualenvs-create: true | ||
virtualenvs-in-project: true | ||
installer-parallel: true | ||
#---------------------------------------------- | ||
# load cached venv if cache exists | ||
#---------------------------------------------- | ||
- name: Load cached venv | ||
id: cached-poetry-dependencies | ||
uses: actions/cache@v3 | ||
with: | ||
path: | | ||
.venv | ||
poetry.lock | ||
key: venv-${{ runner.os }}-${{ inputs.python-version }}-${{ hashFiles('pyproject.toml') }} | ||
#---------------------------------------------- | ||
# install dependencies if cache does not exist | ||
#---------------------------------------------- | ||
- name: Install dependencies | ||
shell: bash | ||
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | ||
run: poetry install --no-interaction --no-root --with dev | ||
- name: Install project | ||
if: ${{ inputs.install-canopy == 'true' }} | ||
shell: bash | ||
run: poetry install --no-interaction |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Run unit tests and linters | ||
|
||
on: pull_request | ||
|
||
# Cancel previous runs on the same branch \ PR number if they are still running | ||
# From: https://stackoverflow.com/a/72408109 | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | ||
cancel-in-progress: true | ||
|
||
|
||
jobs: | ||
run-linters: | ||
name: Run linters | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: [3.9, '3.10', 3.11] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python 3.9 | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
uses: ./.github/actions/install-deps-and-canopy | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
install-canopy: false | ||
- name: Run flake8 Check | ||
run: poetry run flake8 . | ||
- name: Run mypy check | ||
run: poetry run mypy src | ||
|
||
run-tests: | ||
name: Run tests | ||
runs-on: ubuntu-latest | ||
needs: run-linters | ||
strategy: | ||
matrix: | ||
python-version: [3.9, '3.10', 3.11] | ||
pinecone-plan: ["paid", "starter"] | ||
|
||
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 | ||
uses: ./.github/actions/install-deps-and-canopy | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
install-canopy: true | ||
- name: Run unit tests | ||
run: poetry run pytest --html=report.html --self-contained-html tests/unit | ||
- name: upload pytest report.html | ||
uses: actions/upload-artifact@v3 | ||
if: always() | ||
with: | ||
name: pytest-report-py${{ matrix.python-version }}-${{ matrix.pinecone-plan }} | ||
path: report*.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -79,3 +79,4 @@ skip-checking-raises = true | |
|
||
[tool.poetry.scripts] | ||
canopy = "canopy_cli.cli:cli" | ||
|