Skip to content

Commit

Permalink
ci: Update CI to use Pixi
Browse files Browse the repository at this point in the history
  • Loading branch information
hoxbro committed Oct 14, 2024
1 parent e54dd51 commit 01e6195
Show file tree
Hide file tree
Showing 2 changed files with 162 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,8 @@ param/_version.py
# asv benchmark
benchmarks/.asv
benchmarks/param


# pixi
.pixi
pixi.lock
157 changes: 157 additions & 0 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
[project]
name = "param"
channels = ["conda-forge"]
platforms = ["linux-64", "osx-arm64", "osx-64", "win-64"]

[tasks]
install = 'python -m pip install --no-deps --disable-pip-version-check -e .'

[activation.env]
PYTHONIOENCODING = "utf-8"

[environments]
test-38 = ["py38", "test-core", "test", "example", "test-example"]
test-39 = ["py39", "test-core", "test", "example", "test-example"]
test-310 = ["py310", "test-core", "test", "example", "test-example"]
test-311 = ["py311", "test-core", "test", "example", "test-example"]
test-312 = ["py312", "test-core", "test", "example", "test-example"]
test-313 = ["py313", "test-core", "test-313", "example", "test-example"]
test-pypy = ["pypy", "test-core", "test-pypy"]
docs = ["py311", "example", "doc"]
build = ["py311", "build"]
lint = ["py311", "lint"]

[dependencies]
nomkl = "*"
pip = "*"

[feature.py38.dependencies]
python = "3.8.*"

[feature.py39.dependencies]
python = "3.9.*"

[feature.py310.dependencies]
python = "3.10.*"

[feature.py311.dependencies]
python = "3.11.*"

[feature.py312.dependencies]
python = "3.12.*"

[feature.py313.dependencies]
python = "3.13.*"

[feature.pypy]
platforms = ["linux-64", "osx-64", "win-64"] # not supported for osx-arm64

[feature.pypy.dependencies]
pypy = "7.3.*"

[feature.example.dependencies]
aiohttp = "*"
pandas = "*"
panel = "*"

# =============================================
# =================== TESTS ===================
# =============================================
[feature.test-core.dependencies]
pytest = "*"
pytest-asyncio = "*"
pytest-cov = "*"
pytest-github-actions-annotate-failures = "*"
pytest-rerunfailures = "*"

[feature.test-core.tasks]
test-unit = 'pytest tests'

[feature.test.dependencies]
cloudpickle = "*"
ipython = "*"
jsonschema = "*"
nest-asyncio = "*"
numpy = "*"
odfpy = "*"
openpyxl = "*"
pandas = "*"
pyarrow = "*"
pytables = "*"
xlrd = "*"

[feature.test.target.linux.dependencies]
gmpy2 = "*"

[feature.test-313.dependencies]
cloudpickle = "*"
ipython = "*"
jsonschema = "*"
nest-asyncio = "*"
numpy = "*"
odfpy = "*"
openpyxl = "*"
pandas = "*"
# pyarrow = "*"
pytables = "*"
xlrd = "*"

[feature.test-313.target.linux.dependencies]
gmpy2 = "*"

[feature.test-pypy.dependencies]
cloudpickle = "*"
ipython = "*"
jsonschema = "*"
nest-asyncio = "*"
numpy = "*"
odfpy = "*"
openpyxl = "*"
pandas = "*"
xlrd = "*"

[feature.test-example.tasks]
test-example = 'pytest -n logical --dist loadscope --nbval-lax examples'

[feature.test-example.dependencies]
psutil = "*"
pytest-xdist = "*"
nbval = "*"

# =============================================
# =================== DOCS ====================
# =============================================
[feature.doc]
channels = ["pyviz"]

[feature.doc.dependencies]
nbsite = ">=0.8.4,<0.9.0"
sphinx-remove-toctrees = "*"

[feature.doc.activation.env]
MOZ_HEADLESS = "1"
MPLBACKEND = "Agg"

[feature.doc.tasks.docs-build]
cmd = "sphinx-build -b html doc builtdocs"

# =============================================
# ================== BUILD ====================
# =============================================
[feature.build.dependencies]
python-build = "*"
conda-build = "*"

[feature.build.tasks]
build-conda = 'bash scripts/conda/build.sh'
build-pip = 'python -m build .'

# =============================================
# =================== LINT ====================
# =============================================
[feature.lint.dependencies]
pre-commit = "*"

[feature.lint.tasks]
lint = 'pre-commit run --all-files'
lint-install = 'pre-commit install'

0 comments on commit 01e6195

Please sign in to comment.