Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
255d1e5
fix: Optimize test encoding detection for 4x speedup
nathan-stender Mar 12, 2026
346f106
fix: Update luminex test files for correct UTF-8 encoding
nathan-stender Mar 13, 2026
56fe15e
fix: Update luminex_intelliflex test file for correct UTF-8 encoding
nathan-stender Mar 13, 2026
c451756
Merge branch 'fix-test-timeouts-encoding-optimization'
nathan-stender Mar 13, 2026
bc6d7e8
Merge branch 'main' of github.com:Benchling-Open-Source/allotropy
nathan-stender Mar 13, 2026
a4426dd
Optimize test files - Batch 1 (2 files)
nathan-stender Mar 13, 2026
7c66eae
Add test file optimization scripts
nathan-stender Mar 13, 2026
f4dd1d3
Fix linting issues in optimization scripts
nathan-stender Mar 13, 2026
8d2523e
Optimize test files - Batch 2 (2 more files)
nathan-stender Mar 13, 2026
77bba3c
Add optimization summary and final timing comparison
nathan-stender Mar 13, 2026
08ffa8e
Remove optimization scripts from PR - keep only optimized test files
nathan-stender Mar 13, 2026
f5bdb7f
Remove remaining optimization script
nathan-stender Mar 13, 2026
0b4cd83
Optimize test files batch 4-5: Reduce file sizes for faster tests
nathan-stender Mar 13, 2026
a146030
Optimize test files batch 7: Reduce CSV file sizes
nathan-stender Mar 13, 2026
1ec7616
Remove JSON outputs for regeneration
nathan-stender Mar 13, 2026
5831a65
Revert failed optimizations - fix test failures
nathan-stender Mar 13, 2026
c6b7dca
Add back missing result files
nathan-stender Mar 13, 2026
65325d9
Optimize FACS Diva facsdiva_example_1.xml: 707KB → 492KB (30% reduction)
nathan-stender Mar 13, 2026
ef6ef71
Optimize TapeStation example_03.xml: 62KB → 25KB (60% reduction)
nathan-stender Mar 13, 2026
c789c46
Optimize Kaleido optical_imaging_endpoint_single_plate_example_01.csv…
nathan-stender Mar 13, 2026
f7aed0a
Optimize Kaleido optical_imaging_endpoint_single_plate_example_02.csv…
nathan-stender Mar 13, 2026
2340e9e
Optimize AppBio AbsoluteQ multichannel.csv: 32KB → 10KB (69% reduction)
nathan-stender Mar 14, 2026
3c80ad2
Optimize Kaleido optical_imaging_endpoint_single_plate_example_03.csv…
nathan-stender Mar 14, 2026
c3b6a81
Optimize Gen5 Kinetic_Analysis_Mean_Slope_and_Standard_Curve_tab.txt:…
nathan-stender Mar 14, 2026
e3d8821
Optimize TapeStation example_04.xml: 26KB → 19KB (27% reduction)
nathan-stender Mar 14, 2026
6d2184b
Optimize Gen5 spectrum_data_with_nan_value.txt: 25KB → 10KB (60% redu…
nathan-stender Mar 14, 2026
423d6b3
Optimize Gen5 240307_114129_BNCH654563_spectralScan_example01.txt: 25…
nathan-stender Mar 14, 2026
1797772
Optimize QuantStudio example_quantsudio_results_only.txt: 19KB → 6KB …
nathan-stender Mar 14, 2026
eb6b136
Optimize FACS Diva example_2: Reduce tubes and gate complexity (53% s…
nathan-stender Mar 14, 2026
caee913
Optimize Agilent Gen5 spectral scan: Reduce wavelength points
nathan-stender Mar 14, 2026
bbb5e82
Optimize Agilent Gen5 spectrum with NaN: Reduce wavelength points
nathan-stender Mar 14, 2026
0da358e
Optimize AppBio QuantStudio results_only: Reduce wells (58% speedup)
nathan-stender Mar 14, 2026
5176a85
Optimize Methodical Mind test_3: Reduce wells (46% speedup)
nathan-stender Mar 14, 2026
46dcc6e
Optimize TapeStation example_03: Reduce samples (34% file reduction)
nathan-stender Mar 14, 2026
b16164c
Optimize CFXMaestro example01: Reduce wells (81% reduction)
nathan-stender Mar 14, 2026
1a72424
feat: Optimize CI by conditionally running schema generation tests
nathan-stender Mar 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 52 additions & 9 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,23 @@ permissions:
contents: read

jobs:
# Determine which tests to run based on changed files
changes:
runs-on: ubuntu-latest
outputs:
schema-generation: ${{ steps.filter.outputs.schema-generation }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
schema-generation:
- 'src/allotropy/allotrope/schemas/**'
- 'src/allotropy/allotrope/schema_parser/**'
- 'src/allotropy/allotrope/models/**'
- 'tests/allotrope/schema_parser/generate_schemas_test.py'
- 'pyproject.toml'
test_py_310:
runs-on: ubuntu-latest
name: Tests (python 3.10)
Expand All @@ -27,9 +44,9 @@ jobs:
run: pip install "hatch>=1.13.0"
- name: Install click
run: pip install click!=8.3.0
- name: Run Tests
run: hatch run test_all.py3.10:pytest -n 2 tests
timeout-minutes: 15
- name: Run Tests (excluding schema generation)
run: hatch run test_all.py3.10:pytest -n 2 tests --ignore=tests/allotrope/schema_parser/generate_schemas_test.py
timeout-minutes: 10

test_py_311:
runs-on: ubuntu-latest
Expand All @@ -47,9 +64,9 @@ jobs:
# NOTE: due to bug: https://github.com/pallets/click/issues/3066
- name: Install click
run: pip install click!=8.3.0
- name: Run Tests
run: hatch run test_all.py3.11:pytest -n 2 tests
timeout-minutes: 15
- name: Run Tests (excluding schema generation)
run: hatch run test_all.py3.11:pytest -n 2 tests --ignore=tests/allotrope/schema_parser/generate_schemas_test.py
timeout-minutes: 10

test_py_312:
runs-on: ubuntu-latest
Expand All @@ -66,9 +83,35 @@ jobs:
run: pip install "hatch>=1.13.0"
- name: Install click
run: pip install click!=8.3.0
- name: Run Tests
run: hatch run test_all.py3.12:pytest -n 2 tests
timeout-minutes: 15
- name: Run Tests (excluding schema generation)
run: hatch run test_all.py3.12:pytest -n 2 tests --ignore=tests/allotrope/schema_parser/generate_schemas_test.py
timeout-minutes: 10

# Schema generation test - only runs when relevant files change or on main branch
schema_generation_test:
needs: changes
# Always run on main branch, otherwise only when schema files change
if: ${{ github.ref == 'refs/heads/main' || needs.changes.outputs.schema-generation == 'true' }}
runs-on: ubuntu-latest
name: Schema Generation Test
strategy:
matrix:
python-version: ["3.10"] # Only run on one Python version since output is the same

steps:
- uses: actions/checkout@v4
with:
lfs: true
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install hatch
run: pip install "hatch>=1.13.0"
- name: Install click
run: pip install click!=8.3.0
- name: Run Schema Generation Test
run: hatch run test_all.py${{ matrix.python-version }}:pytest tests/allotrope/schema_parser/generate_schemas_test.py -v
timeout-minutes: 5

lint:
runs-on: ubuntu-latest
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading
Loading