Skip to content

[PYG-227] 🦣 Composition Option for Typed Classes #1840

[PYG-227] 🦣 Composition Option for Typed Classes

[PYG-227] 🦣 Composition Option for Typed Classes #1840

Workflow file for this run

---
name: build
on:
pull_request:
env:
PYTHON_VERSION: '3.9'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip poetry
poetry config virtualenvs.create false
# Necessary for running the mypy pre-commit hook
poetry install -E all
- uses: pre-commit/action@v3.0.1
build-docs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Dependencies
run: |
python -m pip install --upgrade --upgrade-strategy eager --no-cache-dir -r docs/requirements.txt
- name: Build documentation
run: |
mkdocs build
test-core:
name: Test without optional dependencies.
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install core dependencies
run: |
python3 -m pip install --upgrade pip poetry
poetry config virtualenvs.create false
poetry install -E format
- name: Test Core
run: pytest -m "not cli" cognite tests/test_unit
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip poetry
poetry config virtualenvs.create false
poetry install -E all
- name: Test
run: pytest cognite tests/test_unit -v
- name: Test CLI
run: pygen --help
- name: Build package
run: poetry build
tests-pydantic-v1:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip poetry
poetry config virtualenvs.create false
poetry install -E all
# This version is supported by Pyodide
pip install pydantic==1.10.7
- name: Test
run: pytest cognite tests/test_unit -v
- name: Test CLI
run: pygen --help
coverage:
runs-on: ubuntu-latest
environment: dev
steps:
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install dependencies
run: |
python3 -m pip install --upgrade pip poetry
poetry config virtualenvs.create false
poetry install -E all
- name: Test
env:
CDF_CLUSTER: ${{ vars.CDF_CLUSTER }}
CDF_PROJECT: ${{ vars.CDF_PROJECT }}
IDP_CLIENT_ID: ${{ vars.IDP_CLIENT_ID }}
IDP_CLIENT_SECRET: ${{ secrets.IDP_CLIENT_SECRET }}
IDP_TENANT_ID: ${{ secrets.IDP_TENANT_ID }}
run: pytest --cov=cognite/ --cov-config=pyproject.toml --cov-report=xml:coverage.xml tests/
- name: Push coverage report to PR
uses: orgoro/coverage@v3.2
with:
coverageFile: coverage.xml
token: ${{ secrets.GITHUB_TOKEN }}
thresholdAll: 0.6
build_and_test_streamlit_pyodide:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Build package using poetry
run: |
pip install poetry
poetry build
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm install pyodide@0.25.1 # stlite currently using pyodide 0.25.1
- name: Install pygen in pyodide environment
run: |
whl_file=$(find dist -name "*.whl" | sed 's|^dist/||') # Find the built wheel file, remove dist/ prefix
echo "Found built wheel file: $whl_file"
PYGEN_FILE_PATH=$whl_file \
PACKAGES="[\"pyodide-http\", \"pandas\", \"typing-extensions>=4.10.0\", \"http://localhost:3000/dist/$whl_file\"]" \
node test-pyodide.js
build_and_test_jupyter_pyodide:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: 'pip'
- name: Build package using poetry
run: |
pip install poetry
poetry build
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
- name: Install dependencies
run: npm install pyodide@0.25.1 # JupyterLite currently using pyodide 0.25.0
- name: Install pygen in pyodide environment
run: |
whl_file=$(find dist -name "*.whl" | sed 's|^dist/||') # Find the built wheel file, remove dist/ prefix
echo "Found built wheel file: $whl_file"
PYGEN_FILE_PATH=$whl_file \
PACKAGES="[\"pyodide-http\", \"pandas\", \"typing-extensions>=4.10.0\", \"http://localhost:3000/dist/$whl_file\"]" \
node test-pyodide.js