Skip to content

CI Tests

CI Tests #5477

Workflow file for this run

name: CI Tests
on:
#NOTE: All jobs gated by auth job
#Regular dev
push:
pull_request:
#Enable UI-driven branch testing
workflow_dispatch:
#Test main bidaily @ 1a
schedule:
- cron: '0 1 1-31/2 * *'
jobs:
test-minimal-python:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m venv pygraphistry
source pygraphistry/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[test]
- name: Lint
run: |
source pygraphistry/bin/activate
./bin/lint.sh
- name: Type check
run: |
source pygraphistry/bin/activate
./bin/typecheck.sh
- name: Minimal tests
run: |
source pygraphistry/bin/activate
./bin/test-minimal.sh
test-core-python:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m venv pygraphistry
source pygraphistry/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[test,build,bolt,igraph,networkx,gremlin,nodexl,jupyter]
- name: Lint
run: |
source pygraphistry/bin/activate
./bin/lint.sh
- name: Type check
run: |
source pygraphistry/bin/activate
./bin/typecheck.sh
- name: Core tests
run: |
source pygraphistry/bin/activate
./bin/test.sh
test-graphviz:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m venv pygraphistry
source pygraphistry/bin/activate
sudo apt-get install graphviz graphviz-dev
python -m pip install --upgrade pip
python -m pip install -e .[test,pygraphviz]
- name: Type check
run: |
source pygraphistry/bin/activate
./bin/typecheck.sh
- name: Graphviz tests
run: |
source pygraphistry/bin/activate
./bin/test-graphviz.sh
test-core-umap:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
strategy:
matrix:
#python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
python-version: [3.8, 3.9]
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m venv pygraphistry
source pygraphistry/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[test,testai,umap-learn]
- name: Type check
run: |
source pygraphistry/bin/activate
./bin/typecheck.sh
- name: Core feature tests (weak featurize)
run: |
source pygraphistry/bin/activate
./bin/test-features.sh
- name: Core umap tests (weak featurize)
run: |
source pygraphistry/bin/activate
./bin/test-umap-learn-core.sh
test-full-ai:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.8, 3.9]
#python-version: [3.8, 3.9, '3.10', 3.11, 3.12]
#include:
# - python-version: 3.12
# continue-on-error: true
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install test dependencies
run: |
python -m venv pygraphistry
source pygraphistry/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .[test,testai,ai]
echo "dirty-cat: `pip show dirty-cat | grep Version`"
echo "pandas: `pip show pandas | grep Version`"
echo "numpy: `pip show numpy | grep Version`"
echo "scikit-learn: `pip show scikit-learn | grep Version`"
echo "scipy: `pip show scipy | grep Version`"
echo "umap-learn: `pip show umap-learn | grep Version`"
- name: Type check
run: |
source pygraphistry/bin/activate
./bin/typecheck.sh
- name: Full dbscan tests (rich featurize)
run: |
source pygraphistry/bin/activate
./bin/test-dbscan.sh
- name: Full feature tests (rich featurize)
run: |
source pygraphistry/bin/activate
./bin/test-features.sh
- name: Full search tests (rich featurize)
run: |
source pygraphistry/bin/activate
./bin/test-text.sh
- name: Full umap tests (rich featurize)
run: |
source pygraphistry/bin/activate
./bin/test-umap-learn-core.sh
- name: Full embed tests (rich featurize)
run: |
source pygraphistry/bin/activate
./bin/test-embed.sh
test-neo4j:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
env:
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
steps:
- uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Neo4j connector tests
run: |
cd docker && WITH_SUDO=" " ./test-cpu-local-neo4j-only.sh
test-build:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
lfs: true
- name: Checkout LFS objects
run: git lfs pull
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install -e .[build]
- name: Test building
run: |
./bin/build.sh
test-docs:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Test building docs
run: |
cd docs && ./ci.sh
test-readme:
needs: [ test-minimal-python ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
- name: Test building docs
continue-on-error: true
run: |
docker run --rm -v "$(pwd)/README.md:/workdir/README.md:ro" -v "$(pwd)/.markdownlint.yaml:/workdir/.markdownlint.yaml:ro" ghcr.io/igorshubovych/markdownlint-cli:v0.37.0 README.md