Move generate_ground_truth_recording to generation module
#314
Workflow file for this run
This file contains hidden or 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: Testing Kilosort4 | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 12 * * 0" # Weekly on Sunday at noon UTC | |
| pull_request: | |
| paths: | |
| - "**/kilosort4.py" | |
| - "**/test_kilosort4_ci.py" | |
| jobs: | |
| versions: | |
| # Poll Pypi for all released KS4 versions >4.0.16, save to JSON | |
| # and store them in a matrix for the next job. | |
| runs-on: ubuntu-latest | |
| outputs: | |
| matrix: ${{ steps.set-matrix.outputs.matrix }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.12" | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: "3.12" | |
| enable-cache: true | |
| - name: Install dependencies | |
| run: | | |
| uv pip install --system requests packaging | |
| uv pip install --system . | |
| - name: Fetch package versions from PyPI | |
| run: | | |
| python .github/scripts/check_kilosort4_releases.py | |
| shell: bash | |
| - name: Set matrix data | |
| id: set-matrix | |
| run: | | |
| echo "matrix=$(jq -c . < .github/scripts/kilosort4-latest-version.json)" >> $GITHUB_OUTPUT | |
| test: | |
| needs: versions | |
| name: ${{ matrix.ks_version }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.12"] | |
| os: [ubuntu-latest] | |
| ks_version: ${{ fromJson(needs.versions.outputs.matrix) }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - uses: astral-sh/setup-uv@v7 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| enable-cache: true | |
| - name: Install SpikeInterface | |
| run: | | |
| uv pip install --system -e .[full] --group test-sorters | |
| shell: bash | |
| - name: Install legacy setuptools for KS4 < 4.0.19 | |
| if: matrix.ks_version == '4.0.16' || matrix.ks_version == '4.0.17' || matrix.ks_version == '4.0.18' | |
| run: uv pip install --system setuptools==78.0.2 | |
| - name: Install legacy numpy for KS4 4.1.1 - 4.1.5 | |
| if: | | |
| matrix.ks_version == '4.1.1' || | |
| matrix.ks_version == '4.1.2' || | |
| matrix.ks_version == '4.1.3' || | |
| matrix.ks_version == '4.1.4' || | |
| matrix.ks_version == '4.1.5' || | |
| matrix.ks_version == '4.1.6' | |
| run: uv pip install --system "numpy<2.4" | |
| - name: Install Kilosort | |
| run: | | |
| uv pip install --system kilosort==${{ matrix.ks_version }} | |
| shell: bash | |
| - name: Run new kilosort4 tests | |
| run: | | |
| pytest .github/scripts/test_kilosort4_ci.py | |
| shell: bash |