Skip to content

Commit cb32fbd

Browse files
committed
Merge branch 'dev' into wb-dev
2 parents 54fd2f5 + 03074c1 commit cb32fbd

1,529 files changed

Lines changed: 31374 additions & 282546 deletions

File tree

Some content is hidden

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

.github/workflows/install_and_lint.yml

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

.github/workflows/lint.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Check Linting with pylint
2+
3+
on:
4+
push:
5+
branches: [ main, dev ]
6+
pull_request:
7+
branches: [ main, dev ]
8+
workflow_dispatch:
9+
10+
jobs:
11+
check-lint:
12+
name: Lint Code
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v3
16+
17+
- name: Set up Python
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: '3.11'
21+
22+
- name: Install dependencies
23+
run: |
24+
sudo apt update
25+
sudo apt install libegl1
26+
sudo apt install libgl1 libxext6 libx11-6
27+
python -m pip install --upgrade pip
28+
pip install pylint
29+
pip install -e .
30+
31+
- name: Lint with pylint
32+
run: |
33+
pylint src/pyvale --fail-under=7.0

.github/workflows/tests.yml

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,39 @@ name: Run tests
22

33
on:
44
push:
5-
branches: [main]
5+
branches: [main, dev]
66
pull_request:
7-
branches: [main]
7+
branches: [main, dev]
88
workflow_dispatch:
99

1010
jobs:
1111
test:
1212
runs-on: ${{ matrix.os }}
1313
strategy:
14+
fail-fast: false
1415
matrix:
15-
os: [ubuntu-latest]
16-
16+
os: [ubuntu-latest, windows-latest, macos-14, macos-15-intel, macos-latest]
17+
include:
18+
- os: macos-14
19+
llvm: llvm@15
20+
- os: macos-15-intel
21+
llvm: llvm@18
22+
- os: macos-latest
23+
llvm: llvm@18
1724
steps:
1825
- name: Checkout code
1926
uses: actions/checkout@v3
2027

2128
- name: Set up Python
2229
uses: actions/setup-python@v4
2330
with:
24-
python-version: '3.11' # or another version you need
31+
python-version: '3.11'
32+
33+
- name: set default compiler on macOS to GCC
34+
if: startsWith(matrix.os, 'macos')
35+
run: |
36+
echo "CC=gcc-15" >> $GITHUB_ENV
37+
echo "CXX=g++-15" >> $GITHUB_ENV
2538
2639
- name: Install dependencies for ubuntu-latest
2740
if: matrix.os == 'ubuntu-latest'
@@ -32,13 +45,19 @@ jobs:
3245
- name: Upgrade pip and install package
3346
run: |
3447
python -m pip install --upgrade pip
35-
pip install -e .
48+
pip install -e . -v
3649
3750
- name: Smoke test
3851
run: |
3952
python -c "import pyvale"
4053
41-
- name: Run pytests
54+
- name: Run sensorsim and DIC tests
55+
run: |
56+
pip install pytest pytest-mock
57+
pytest -v tests/dic/. tests/sensorsim/.
58+
59+
- name: Run blender tests (skip macOS ARM)
60+
if: ${{ !startsWith(matrix.os, 'macos') || contains(matrix.os, 'intel') }}
4261
run: |
43-
pip install pytest
44-
pytest -v tests/blender/. tests/dic/. tests/sensorsim
62+
pip install pytest pytest-mock
63+
pytest -v tests/blender/.

.github/workflows/wheels.yml

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
name: Build and Upload Wheels to PyPI
1+
name: Build Wheels and upload (if new release) to PyPI
22

33
on:
44
workflow_dispatch:
55
push:
6-
branches:
7-
- main
6+
branches: [main, dev]
7+
pull_request:
8+
branches: [main, dev]
89
release:
910
types:
1011
- published
@@ -14,29 +15,28 @@ jobs:
1415
runs-on: ${{ matrix.os }}
1516
strategy:
1617
matrix:
17-
# macos13 is intel macos14 is arm
18-
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-14]
19-
18+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-14, macos-15-intel, macos-latest]
19+
include:
20+
- os: macos-14
21+
llvm: llvm@15
22+
macos_deployment_target: "14.0"
23+
- os: macos-15-intel
24+
llvm: llvm@18
25+
macos_deployment_target: "15.0"
26+
- os: macos-latest
27+
llvm: llvm@18
28+
macos_deployment_target: "15.0"
2029
steps:
2130
- uses: actions/checkout@v4
22-
23-
# Set GCC and Deployment Target for macOS 13
24-
- name: Set GCC and MACOSX_DEPLOYMENT_TARGET for macOS 13
25-
if: matrix.os == 'macos-13'
26-
run: |
27-
echo "MACOSX_DEPLOYMENT_TARGET=13.6" >> $GITHUB_ENV
2831

29-
# Set GCC and Deployment Target for macOS 14
30-
- name: Set GCC and MACOSX_DEPLOYMENT_TARGET for macOS 14
31-
if: matrix.os == 'macos-14'
32-
run: |
33-
echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> $GITHUB_ENV
34-
35-
- name: Install libomp for clang (macOS only)
32+
- name: Set compiler on macOS to GCC
3633
if: startsWith(matrix.os, 'macos')
3734
run: |
3835
brew install libomp
39-
36+
echo "MACOSX_DEPLOYMENT_TARGET=${{ matrix.macos_deployment_target }}" >> $GITHUB_ENV
37+
echo "CC=gcc-15" >> $GITHUB_ENV
38+
echo "CXX=g++-15" >> $GITHUB_ENV
39+
4040
- name: Build wheels
4141
uses: pypa/cibuildwheel@v2.23.3
4242
with:
@@ -45,11 +45,6 @@ jobs:
4545
config-file: "{package}/pyproject.toml"
4646
env:
4747
CIBW_SKIP: "pp*"
48-
CIBW_ENVIRONMENT_MACOS: >
49-
CC=$(brew --prefix llvm@15)/bin/clang
50-
CXX=$(brew --prefix llvm@15)/bin/clang++
51-
LDFLAGS="-L$(brew --prefix libomp)/lib"
52-
CPPFLAGS="-I$(brew --prefix libomp)/include"
5348
- uses: actions/upload-artifact@v4
5449
with:
5550
name: pyvale-wheels-${{ matrix.os }}-${{ strategy.job-index }}

.github/workflows/wheels_testpypi.yml

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,17 @@ jobs:
99
runs-on: ${{ matrix.os }}
1010
strategy:
1111
matrix:
12-
# macos13 is intel macos14 is arm
13-
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-13, macos-14]
14-
12+
os: [ubuntu-latest, ubuntu-24.04-arm, windows-latest, macos-14, macos-15-intel, macos-latest]
13+
include:
14+
- os: macos-14
15+
llvm: llvm@15
16+
- os: macos-15-intel
17+
llvm: llvm@18
18+
- os: macos-15-latest
19+
llvm: llvm@18
1520
steps:
1621
- uses: actions/checkout@v4
1722

18-
# Set GCC and Deployment Target for macOS 13
19-
- name: Set GCC and MACOSX_DEPLOYMENT_TARGET for macOS 13
20-
if: matrix.os == 'macos-13'
21-
run: |
22-
echo "MACOSX_DEPLOYMENT_TARGET=13.6" >> $GITHUB_ENV
23-
24-
# Set GCC and Deployment Target for macOS 14
25-
- name: Set GCC and MACOSX_DEPLOYMENT_TARGET for macOS 14
26-
if: matrix.os == 'macos-14'
27-
run: |
28-
echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> $GITHUB_ENV
29-
3023
- name: Install libomp for clang (macOS only)
3124
if: startsWith(matrix.os, 'macos')
3225
run: |
@@ -41,10 +34,8 @@ jobs:
4134
env:
4235
CIBW_SKIP: "pp*"
4336
CIBW_ENVIRONMENT_MACOS: >
44-
CC=$(brew --prefix llvm@15)/bin/clang
45-
CXX=$(brew --prefix llvm@15)/bin/clang++
46-
LDFLAGS="-L$(brew --prefix libomp)/lib"
47-
CPPFLAGS="-I$(brew --prefix libomp)/include"
37+
CC=gcc-15
38+
CXX=g++-15
4839
- uses: actions/upload-artifact@v4
4940
with:
5041
name: pyvale-wheels-${{ matrix.os }}-${{ strategy.job-index }}

.gitignore

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#-------------------------------------------------------------------------------
2-
# vscode / venv
2+
# pyvale specific ignores
3+
4+
# Environments and VS Code
35
.vscode/
46
.pyvale-env/
57
pyvale-env/
@@ -17,10 +19,10 @@ pyvale-env/
1719
*.blend
1820
*.csv
1921
*.json
20-
testoutput/
21-
exampleoutput/
2222
pyvale-output/
23-
blender*/
23+
pyvale-input/
24+
test-output/
25+
test-input/
2426

2527
# MOOSE / gmsh
2628
*-opt
@@ -42,6 +44,8 @@ blender*/
4244
!tests/mooseherder/output_gold/*.csv
4345
!tests/mooseherder/output_gold/sim-workdir-*/*.e
4446
!tests/mooseherder/output_gold/sim-workdir-*/*.json
47+
!tests/mooseherder/txt_gold/*.csv
48+
!tests/mooseherder/txt_gold/*.npy
4549

4650
# Image deformation test cases
4751
*.pkl
@@ -58,6 +62,25 @@ src/pyvale/cython/*.html
5862
*.a
5963
*.o
6064

65+
# restructured text files for API documentation.
66+
pyvale.rst
67+
pyvale.*.rst
68+
69+
# files generated by sphinx-gallery extension
70+
docs/source/examples/*/
71+
# keep the gallery layouts
72+
!docs/source/examples/examples_*.rst
73+
74+
# doxygen folder generated when compiling docs
75+
docs/source/doxygen
76+
77+
# rastercyth generated files
78+
src/pyvale/cython/rastercyth.c
79+
src/pyvale/cython/rastercyth.html
80+
81+
# Ruff linting cache
82+
.ruff_cache/
83+
6184
#-------------------------------------------------------------------------------
6285
# Python Standard Ignore
6386

@@ -230,16 +253,9 @@ cpp/Makefile
230253
#.idea/
231254

232255

233-
# restructured text files for API documentation.
234-
pyvale.rst
235-
pyvale.*.rst
236-
237256
# files generated by sphinx-gallery extension
238257
docs/source/examples/
239258

240259
# doxygen folder generated when compiling docs
241260
docs/source/doxygen
242261

243-
# rastercyth generated files
244-
src/pyvale/cython/rastercyth.c
245-
src/pyvale/cython/rastercyth.html

0 commit comments

Comments
 (0)