Skip to content

Commit b390851

Browse files
committed
merge
2 parents 6661b7a + 1be3dc8 commit b390851

51 files changed

Lines changed: 1383 additions & 949 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.coveragerc

Lines changed: 0 additions & 15 deletions
This file was deleted.

.github/workflows/build-multiarch.yml

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,24 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
include:
20-
- arch: armv6
21-
distro: bookworm
20+
# Disabled: Docker localhost registry connection refused error on armv6/trixie
21+
# - arch: armv6
22+
# distro: trixie
2223
- arch: armv7
23-
distro: bookworm
24+
distro: trixie
2425
- arch: aarch64
25-
distro: bookworm
26+
distro: trixie
27+
- arch: riscv64
28+
distro: trixie
2629
- arch: s390x
27-
distro: bookworm
30+
distro: trixie
2831
- arch: ppc64le
29-
distro: bookworm
32+
distro: trixie
3033

3134
- arch: armv7
3235
distro: ubuntu_latest
3336
- arch: aarch64
3437
distro: ubuntu_latest
35-
- arch: riscv64
36-
distro: ubuntu_devel
3738
- arch: s390x
3839
distro: ubuntu_latest
3940
- arch: ppc64le
@@ -51,38 +52,15 @@ jobs:
5152
distro: alpine_latest
5253
- arch: ppc64le
5354
distro: alpine_latest
54-
# fedora-latest doesn't work not sure why
5555

5656
steps:
5757
- uses: actions/checkout@v4
58+
- name: Install Just
59+
uses: extractions/setup-just@v2
5860
- name: Set up QEMU
5961
uses: docker/setup-qemu-action@v3
6062
with:
61-
platforms: all
62-
- name: Run on ${{ matrix.arch }}
63-
uses: uraimo/run-on-arch-action@v3
64-
with:
65-
arch: ${{ matrix.arch }}
66-
distro: ${{ matrix.distro }}
67-
githubToken: ${{ github.token }}
68-
install: |
69-
if [[ "${{ matrix.distro }}" == "alpine_latest" ]]; then
70-
apk update
71-
apk add python3 py3-pip py3-scipy py3-matplotlib py3-numpy py3-pandas
72-
elif [[ "${{ matrix.distro }}" == "ubuntu_latest" || "${{ matrix.distro }}" == "ubuntu_rolling" || "${{ matrix.distro }}" == "ubuntu_devel" || "${{ matrix.distro }}" == "ubuntu20.04" || "${{ matrix.distro }}" == "ubuntu22.04" || "${{ matrix.distro }}" == "bookworm" ]]; then
73-
apt-get update
74-
# Install libatlas-base-dev if available (not available on some architectures like riscv64)
75-
apt-get install -y liblapack-dev gfortran libgmp-dev libmpfr-dev libsuitesparse-dev ccache libmpc-dev python3 python3-pip python3-scipy python3-matplotlib python3-numpy python3-pandas
76-
apt-get install -y libatlas-base-dev || true
77-
fi
78-
run: |
79-
if python3 -c "import subprocess; exit('no such option' not in subprocess.getoutput('pip3 install --break-system-packages'))"; then
80-
# If the exit status is 0 (True), this means the option is not supported
81-
python3 -m pip install wheel
82-
pip3 install -r requirements_test_multiarch.txt
83-
else
84-
# If the exit status is 1 (False), this means the option is supported
85-
python3 -m pip install wheel --break-system-packages
86-
pip3 install -r requirements_test_multiarch.txt --break-system-packages
87-
fi
88-
python3 -m pytest . -v -m "not online and not thermo and not numba"
63+
image: tonistiigi/binfmt:qemu-v8.1.5
64+
- name: Run tests on ${{ matrix.arch }}/${{ matrix.distro }}
65+
run: just test-arch ${{ matrix.arch }} ${{ matrix.distro }}
66+

.github/workflows/build.yml

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,17 @@ jobs:
1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.13t', 'pypy3.9']
20+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.13t', 'pypy3.11']
2121
os: [windows-latest, ubuntu-latest, macos-15-intel, macos-latest]
2222
architecture: ['x86', 'x64']
2323
exclude:
2424
# Only test pypy on Linux
2525
- os: windows-latest
26-
python-version: pypy3.9
26+
python-version: pypy3.11
2727
- os: macos-latest
28-
python-version: pypy3.9
28+
python-version: pypy3.11
2929
- os: macos-15-intel
30-
python-version: pypy3.9
30+
python-version: pypy3.11
3131
# no python builds available on macos 32 bit, arm or x64
3232
- os: macos-latest
3333
architecture: x86
@@ -36,10 +36,7 @@ jobs:
3636
# no python builds available on linux 32 bit
3737
- os: ubuntu-latest
3838
architecture: x86
39-
# scipy dropped 32 bit windows builds
40-
- os: windows-latest
41-
architecture: x86
42-
python-version: 3.8
39+
# scipy dropped 32 bit windows builds
4340
- os: windows-latest
4441
architecture: x86
4542
python-version: 3.9
@@ -67,44 +64,24 @@ jobs:
6764
python-version: 3.13t
6865

6966
# These are arm - old versions of Python are not supported
70-
- os: macos-latest
71-
python-version: 3.8
7267
- os: macos-latest
7368
python-version: 3.9
7469
- os: macos-latest
7570
python-version: 3.10
7671
steps:
7772
- uses: actions/checkout@v4
7873
- name: Set up Python ${{ matrix.python-version }} ${{ matrix.architecture }}
79-
uses: actions/setup-python@v5
74+
uses: actions/setup-python@v5
8075
with:
8176
python-version: ${{ matrix.python-version }}
8277
architecture: ${{ matrix.architecture }}
8378

84-
- name: cache Linux
85-
uses: actions/cache@v4
86-
if: startsWith(runner.os, 'Linux')
87-
with:
88-
path: ~/.cache/pip
89-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements_test.txt') }}
90-
restore-keys: |
91-
${{ runner.os }}-${{ runner.architecture }}-${{ runner.python-version }}pip-
92-
- name: cache MacOS
93-
uses: actions/cache@v4
94-
if: startsWith(runner.os, 'macOS')
95-
with:
96-
path: ~/Library/Caches/pip
97-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements_test.txt') }}
98-
restore-keys: |
99-
${{ runner.os }}-${{ runner.architecture }}-${{ runner.python-version }}pip-
100-
- name: cache Windows
101-
uses: actions/cache@v4
102-
if: startsWith(runner.os, 'Windows')
79+
- name: Install uv
80+
if: matrix.python-version != '3.13t'
81+
uses: astral-sh/setup-uv@v4
10382
with:
104-
path: ~\AppData\Local\pip\Cache
105-
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements_test.txt') }}
106-
restore-keys: |
107-
${{ runner.os }}-${{ runner.architecture }}-${{ runner.python-version }}pip-
83+
enable-cache: true
84+
cache-dependency-glob: "pyproject.toml"
10885

10986
- name: Install Ubuntu dependencies
11087
if: startsWith(runner.os, 'Linux')
@@ -116,13 +93,18 @@ jobs:
11693
- name: Install dependencies
11794
run: |
11895
python -c "import platform; print(platform.platform()); print(platform.architecture())"
119-
python -m pip install --upgrade pip
120-
python -m pip install wheel
121-
pip install -r requirements_test.txt
96+
if [[ "${{ matrix.python-version }}" == "3.13t" ]]; then
97+
# Use pip for 3.13t (free-threading) as uv may not fully support it yet
98+
python -m pip install --upgrade pip
99+
pip install -e .[test]
100+
else
101+
uv pip install --system -e .[test]
102+
fi
103+
shell: bash
122104
- name: Add numba
123-
if: ${{ !contains(fromJSON('["pypy3.9", "3.13t"]'), matrix.python-version) }}
105+
if: ${{ !contains(fromJSON('["pypy3.11", "3.13t"]'), matrix.python-version) }}
124106
run: |
125-
pip install numba
107+
uv pip install --system -e .[numba]
126108
- name: Test with pytest
127109
run: |
128110
pytest . -v --cov-report html --cov=fluids --cov-report term-missing -m "not online and not thermo"

.github/workflows/build_cxfreeze_library.yml

Lines changed: 0 additions & 91 deletions
This file was deleted.

0 commit comments

Comments
 (0)