Skip to content

Commit f573e95

Browse files
Samoedgithub-actions[bot]voorhs
authored
standartize pyproject & speedup tests (#176)
* speedup tests * fix pyproject * Update optimizer_config.schema.json * move optional dependencies * fixes * add xdist * fix ci * download data from hub in doc * add caching * add doc cache --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: voorhs <[email protected]>
1 parent e848aaa commit f573e95

File tree

11 files changed

+142
-212
lines changed

11 files changed

+142
-212
lines changed

.github/workflows/build-docs.yaml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,33 +36,36 @@ jobs:
3636
with:
3737
python-version: "3.10"
3838

39-
- name: setup poetry
40-
run: |
41-
curl -sSL https://install.python-poetry.org | python -
39+
- name: Cache Hugging Face
40+
id: cache-hf
41+
uses: actions/cache@v4
42+
with:
43+
path: ~/.cache/huggingface
44+
key: docs-cache-hf
4245

4346
- name: Install pandoc
4447
run: |
4548
sudo apt install pandoc
4649
4750
- name: Install dependencies
4851
run: |
49-
poetry install --with docs
52+
pip install .[docs]
5053
5154
- name: Run tests
5255
if: github.event_name != 'workflow_dispatch'
5356
run: |
5457
echo "Testing documentation build..."
55-
make test-docs
58+
python -m sphinx build -b doctest docs/source docs/build/html
5659
5760
- name: Build documentation
5861
if: ${{ github.ref == 'refs/heads/dev' }} && github.event_name != 'workflow_dispatch'
5962
run: |
60-
make docs
63+
python -m sphinx build -b html docs/source docs/build/html
6164
6265
- name: build multiversion documentation
6366
if: github.event_name == 'release' || github.event_name == 'workflow_dispatch'
6467
run: |
65-
make multi-version-docs
68+
sphinx-multiversion docs/source docs/build/html
6669
6770
- name: Deploy to GitHub Pages
6871
uses: peaceiris/actions-gh-pages@v3
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Reusable Test Workflow
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
test_command:
7+
required: true
8+
type: string
9+
description: 'Command to run tests'
10+
11+
jobs:
12+
test:
13+
runs-on: ${{ matrix.os }}
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
os: [ ubuntu-latest ]
18+
python-version: [ "3.10", "3.11", "3.12" ]
19+
include:
20+
- os: windows-latest
21+
python-version: "3.10"
22+
23+
steps:
24+
- name: Checkout code
25+
uses: actions/checkout@v4
26+
27+
- name: Cache Hugging Face
28+
id: cache-hf
29+
uses: actions/cache@v4
30+
with:
31+
path: ~/.cache/huggingface
32+
key: ${{ runner.os }}-hf
33+
34+
- name: Setup Python ${{ matrix.python-version }}
35+
uses: actions/setup-python@v5
36+
with:
37+
python-version: ${{ matrix.python-version }}
38+
cache: "pip"
39+
40+
- name: Install dependencies
41+
run: |
42+
pip install .[test]
43+
44+
- name: Run tests
45+
run: |
46+
${{ inputs.test_command }}

.github/workflows/test-inference.yaml

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@ on:
88

99
jobs:
1010
test:
11-
runs-on: ${{ matrix.os }}
12-
strategy:
13-
fail-fast: false
14-
matrix:
15-
os: [ ubuntu-latest ]
16-
python-version: [ "3.10", "3.11", "3.12" ]
17-
include:
18-
- os: windows-latest
19-
python-version: "3.10"
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
25-
- name: Setup Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v5
27-
with:
28-
python-version: ${{ matrix.python-version }}
29-
cache: "pip"
30-
31-
- name: Install dependencies
32-
run: |
33-
pip install .
34-
pip install pytest pytest-asyncio
35-
36-
- name: Run tests
37-
run: |
38-
pytest tests/pipeline/test_inference.py
11+
uses: ./.github/workflows/reusable-test.yaml
12+
with:
13+
test_command: pytest -n auto tests/pipeline/test_inference.py

.github/workflows/test-nodes.yaml

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@ on:
88

99
jobs:
1010
test:
11-
runs-on: ${{ matrix.os }}
12-
strategy:
13-
fail-fast: false
14-
matrix:
15-
os: [ ubuntu-latest ]
16-
python-version: [ "3.10", "3.11", "3.12" ]
17-
include:
18-
- os: windows-latest
19-
python-version: "3.10"
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
25-
- name: Setup Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v5
27-
with:
28-
python-version: ${{ matrix.python-version }}
29-
cache: "pip"
30-
31-
- name: Install dependencies
32-
run: |
33-
pip install .
34-
pip install pytest pytest-asyncio
35-
36-
- name: Run tests
37-
run: |
38-
pytest tests/nodes
11+
uses: ./.github/workflows/reusable-test.yaml
12+
with:
13+
test_command: pytest -n auto tests/nodes

.github/workflows/test-optimization.yaml

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@ on:
88

99
jobs:
1010
test:
11-
runs-on: ${{ matrix.os }}
12-
strategy:
13-
fail-fast: false
14-
matrix:
15-
os: [ ubuntu-latest ]
16-
python-version: [ "3.10", "3.11", "3.12" ]
17-
include:
18-
- os: windows-latest
19-
python-version: "3.10"
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
25-
- name: Setup Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v5
27-
with:
28-
python-version: ${{ matrix.python-version }}
29-
cache: "pip"
30-
31-
- name: Install dependencies
32-
run: |
33-
pip install .
34-
pip install pytest pytest-asyncio
35-
36-
- name: Run tests
37-
run: |
38-
pytest tests/pipeline/test_optimization.py
11+
uses: ./.github/workflows/reusable-test.yaml
12+
with:
13+
test_command: pytest -n auto tests/pipeline/test_optimization.py

.github/workflows/test-presets.yaml

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@ on:
88

99
jobs:
1010
test:
11-
runs-on: ${{ matrix.os }}
12-
strategy:
13-
fail-fast: false
14-
matrix:
15-
os: [ ubuntu-latest ]
16-
python-version: [ "3.10", "3.11", "3.12" ]
17-
include:
18-
- os: windows-latest
19-
python-version: "3.10"
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
25-
- name: Setup Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v5
27-
with:
28-
python-version: ${{ matrix.python-version }}
29-
cache: "pip"
30-
31-
- name: Install dependencies
32-
run: |
33-
pip install .
34-
pip install pytest pytest-asyncio
35-
36-
- name: Run tests
37-
run: |
38-
pytest tests/pipeline/test_presets.py
11+
uses: ./.github/workflows/reusable-test.yaml
12+
with:
13+
test_command: pytest -n auto tests/pipeline/test_presets.py

.github/workflows/typing.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,9 @@ jobs:
1111
python-version: "3.10"
1212
cache: "pip"
1313

14-
- name: Install Poetry
15-
run: |
16-
curl -sSL https://install.python-poetry.org | python3 -
17-
echo "$HOME/.poetry/bin" >> $GITHUB_PATH
18-
1914
- name: Install dependencies
2015
run: |
21-
poetry install --with typing
16+
pip install .[typing]
2217
2318
- name: Run mypy
24-
run: make typing
19+
run: mypy autointent

.github/workflows/unit-tests.yaml

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,6 @@ on:
88

99
jobs:
1010
test:
11-
runs-on: ${{ matrix.os }}
12-
strategy:
13-
fail-fast: false
14-
matrix:
15-
os: [ ubuntu-latest ]
16-
python-version: [ "3.10", "3.11", "3.12" ]
17-
include:
18-
- os: windows-latest
19-
python-version: "3.10"
20-
21-
steps:
22-
- name: Checkout code
23-
uses: actions/checkout@v4
24-
25-
- name: Setup Python ${{ matrix.python-version }}
26-
uses: actions/setup-python@v5
27-
with:
28-
python-version: ${{ matrix.python-version }}
29-
cache: "pip"
30-
31-
- name: Install dependencies
32-
run: |
33-
pip install .
34-
pip install pytest pytest-asyncio
35-
36-
- name: Run tests
37-
run: |
38-
pytest --ignore=tests/nodes --ignore=tests/pipeline
11+
uses: ./.github/workflows/reusable-test.yaml
12+
with:
13+
test_command: pytest -n auto --ignore=tests/nodes --ignore=tests/pipeline

0 commit comments

Comments
 (0)