CI Tests #5470
Workflow file for this run
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
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 | |