Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
27 changes: 21 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@ jobs:
echo "leaf=$leaf" >> "$GITHUB_OUTPUT"
lint:
# Static checks are interpreter-version agnostic; run them once.
runs-on: [self-hosted, linux, x64, spikeforge-ci]
# GitHub-hosted on purpose: spikeforge is public, so hosted minutes are
# free, and this keeps the *required* checks off the three self-hosted
# runners whose queue was the fleet's bottleneck (hq#14).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -82,11 +85,14 @@ jobs:
test:
# The full suite across every supported interpreter (python_requires).
needs: changes
runs-on: [self-hosted, linux, x64, spikeforge-ci]
# GitHub-hosted on purpose: spikeforge is public, so hosted minutes are
# free, and this keeps the *required* checks off the three self-hosted
# runners whose queue was the fleet's bottleneck (hq#14).
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJSON(needs.changes.outputs.leaf == 'true' && '["3.12"]' || '["3.10", "3.11", "3.12", "3.13"]') }}
python-version: ${{ fromJSON(needs.changes.outputs.leaf == 'true' && '["3.12"]' || '["3.11", "3.12", "3.13"]') }}
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -371,7 +377,10 @@ jobs:
#
# Deliberately torch-free: readme_renderer plus the stdlib is the whole
# dependency set, so this stays one of the fastest jobs in the matrix.
runs-on: [self-hosted, linux, x64, spikeforge-ci]
# GitHub-hosted on purpose: spikeforge is public, so hosted minutes are
# free, and this keeps the *required* checks off the three self-hosted
# runners whose queue was the fleet's bottleneck (hq#14).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -423,7 +432,10 @@ jobs:
# The static half of the core boundary: no module-level import of a
# forbidden root, and no function-local import outside the lazy shims.
# Pure stdlib, so no dependencies are installed.
runs-on: [self-hosted, linux, x64, spikeforge-ci]
# GitHub-hosted on purpose: spikeforge is public, so hosted minutes are
# free, and this keeps the *required* checks off the three self-hosted
# runners whose queue was the fleet's bottleneck (hq#14).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -502,7 +514,10 @@ jobs:
packaging-guards:
# The three lightweight topology guards: disjoint import roots (PEP 420),
# console-script ownership, and satellite pins == compatibility.json.
runs-on: [self-hosted, linux, x64, spikeforge-ci]
# GitHub-hosted on purpose: spikeforge is public, so hosted minutes are
# free, and this keeps the *required* checks off the three self-hosted
# runners whose queue was the fleet's bottleneck (hq#14).
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

Expand Down
6 changes: 4 additions & 2 deletions packages/spikeforge/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ description = "Spiking neural network toolkit: LIF training, NIR export with dri
# files: the distribution metadata points at the root documents while
# setuptools' sandbox only reads files inside the project directory.
readme = "README.md"
requires-python = ">=3.10"
# 3.10 support was dropped when the core adopted `capsize-commons`
# (`requires-python >=3.11`) for §14 logging in hq#3/#52. The declared floor
# must match what the declared dependencies actually support.
requires-python = ">=3.11"
license = "BSD-3-Clause"
license-files = ["LICENSE"]
authors = [
Expand All @@ -48,7 +51,6 @@ classifiers = [
"Intended Audience :: Science/Research",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
Loading