Skip to content

Commit 2f86304

Browse files
GregaVrbancicCopilotCopilot
authored
fix: dependecies and conda build (#720)
* fix: dependecies and conda build * fix: add setuptools and wheel to conda build requirements * ci: use short CONDA_BLD_PATH and CONDA_PKGS_DIRS to avoid long path errors * fix: add missing files * fix: use inline script instead of build.sh file to avoid conda-build conflict * fix: remove outdated conda-verify step (doesn't support Python 3.13) * fix: update workflows to use modern .conda package format instead of .tar.bz2 * Update conda/meta.yaml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update pyproject.toml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Align Python version requirements between pip and conda (#721) * Initial plan * fix: align Python version requirement in conda/meta.yaml with pyproject.toml Co-authored-by: GregaVrbancic <1894788+GregaVrbancic@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: GregaVrbancic <1894788+GregaVrbancic@users.noreply.github.com> Co-authored-by: Grega Vrbančič <grega.vrbancic@gmail.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: GregaVrbancic <1894788+GregaVrbancic@users.noreply.github.com>
1 parent b288780 commit 2f86304

File tree

9 files changed

+1585
-1051
lines changed

9 files changed

+1585
-1051
lines changed

.github/dependabot.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,14 @@ updates:
1010
directory: "/"
1111
schedule:
1212
interval: "monthly"
13-
14-
- package-ecosystem: "pip"
15-
directory: "/docs"
16-
# Disable automatic updates for docs dependencies
17-
schedule:
18-
interval: "never"
13+
# Ignore optional dependency groups (docs, release, test)
14+
ignore:
15+
# Release dependencies (optional group)
16+
- dependency-name: "bump-my-version"
17+
- dependency-name: "git-changelog"
18+
- dependency-name: "pandoc"
19+
# Docs dependencies (optional group)
20+
- dependency-name: "sphinx*"
21+
- dependency-name: "sphinx-rtd-theme"
22+
# Test dependencies
23+
- dependency-name: "pytest*"

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ jobs:
1313
strategy:
1414
matrix:
1515
os: [Ubuntu, macOS, Windows]
16-
python-version: ["3.9", "3.10", "3.11", "3.12"]
16+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1717
include:
1818
- os: Ubuntu
1919
image: ubuntu-22.04
2020
- os: Windows
2121
image: windows-2022
2222
- os: macOS
23-
image: macos-12
23+
image: macos-14
2424
fail-fast: false
2525
defaults:
2626
run:

.github/workflows/publish_conda.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,15 @@ jobs:
88
publish:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@v2
12-
- name: publish-to-conda
13-
uses: fcakyon/conda-publish-action@v1.3
11+
- uses: actions/checkout@v4
12+
- name: Setup Miniconda
13+
uses: conda-incubator/setup-miniconda@v3
1414
with:
15-
subdir: 'conda'
16-
anacondatoken: ${{ secrets.ANACONDA_TOKEN }}
17-
platforms: 'win osx linux'
15+
auto-activate-base: true
16+
activate-environment: ""
17+
- name: Build and publish to conda
18+
shell: bash -l {0}
19+
run: |
20+
conda install -y conda-build anaconda-client
21+
conda build conda --output-folder build
22+
anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload build/noarch/*.conda --force

.github/workflows/test_conda.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Test Conda Build
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- 'conda/**'
7+
- 'pyproject.toml'
8+
workflow_dispatch:
9+
10+
jobs:
11+
test-conda-build:
12+
# Use short, fixed build & package directories to prevent excessively long conda env prefixes
13+
env:
14+
CONDA_BLD_PATH: /tmp/conda-bld
15+
CONDA_PKGS_DIRS: /tmp/conda-pkgs
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Setup Miniconda
21+
uses: conda-incubator/setup-miniconda@v3
22+
with:
23+
auto-activate-base: true
24+
activate-environment: ""
25+
26+
- name: Prepare short conda directories
27+
run: |
28+
sudo mkdir -p /tmp/conda-bld /tmp/conda-pkgs
29+
sudo chown $USER:$USER /tmp/conda-bld /tmp/conda-pkgs
30+
31+
- name: Test conda build
32+
shell: bash -l {0}
33+
run: |
34+
# Ensure conda-build uses short paths to avoid long prefix issues
35+
conda install -y conda-build
36+
export CONDA_BLD_PATH=${CONDA_BLD_PATH:-/tmp/conda-bld}
37+
export CONDA_PKGS_DIRS=${CONDA_PKGS_DIRS:-/tmp/conda-pkgs}
38+
mkdir -p "$CONDA_BLD_PATH" "$CONDA_PKGS_DIRS"
39+
conda build conda --no-anaconda-upload --output-folder build
40+
41+
- name: Show build artifacts
42+
shell: bash -l {0}
43+
run: |
44+
ls -lh build/noarch/
45+
echo "Build successful! Package created:"
46+
ls build/noarch/*.conda

.pyup.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# PyUp configuration
2+
# See https://pyup.io/docs/configuration/
3+
4+
# Update schedule
5+
schedule: "every month"
6+
7+
# Branch to create PRs against
8+
branch: master
9+
10+
# Only update direct dependencies in pyproject.toml main group
11+
# Ignore all optional dependencies and transitive dependencies
12+
update: insecure
13+
14+
# Ignore all optional dependency groups
15+
ignore:
16+
# All docs dependencies (optional group)
17+
- sphinx
18+
- sphinx-rtd-theme
19+
20+
# All release dependencies (optional group)
21+
- git-changelog
22+
- bump-my-version
23+
- pandoc
24+
25+
# All test dependencies
26+
- pytest
27+
- pytest-cov
28+
- pytest-randomly
29+
30+
# Transitive dependencies (let main deps pull these)
31+
- certifi
32+
- charset-normalizer
33+
- idna
34+
- requests
35+
- urllib3
36+
- pillow
37+
- docutils
38+
- babel
39+
- markupsafe
40+
- pygments
41+
- jinja2
42+
- packaging
43+
- pyparsing
44+
- fonttools
45+
- kiwisolver
46+
- contourpy
47+
- snowballstemmer
48+
- pytz
49+
- tzdata
50+
51+
# Only track core dependencies: numpy, pandas, openpyxl, matplotlib
52+
requirements:
53+
- pyproject.toml
54+
55+
# Label for PRs
56+
label_prs: dependencies

conda/conda_build_config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
python:
2-
- 3.9
32
- 3.10
43
- 3.11
5-
- 3.12
4+
- 3.12
5+
- 3.13

conda/meta.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,22 @@ source:
1010

1111
build:
1212
number: 0
13-
script: {{ PYTHON }} -m pip install . -vv
13+
noarch: python
14+
script: python -m pip install . -vv --no-deps --no-build-isolation
1415

1516
requirements:
1617
host:
17-
- python
18+
- python >=3.10,<3.14
1819
- pip
20+
- poetry-core >=1.0.0
1921
- setuptools
2022
- wheel
2123
run:
22-
- python
24+
- python >=3.10,<3.14
25+
- numpy >=2.1.1
26+
- pandas >=2.2.3
27+
- openpyxl >=3.1.5
28+
- matplotlib >=3.9.0
2329

2430
about:
2531
home: {{ poetry.get('homepage') }}

0 commit comments

Comments
 (0)