|
1 | 1 | name: Fidimag test |
2 | 2 |
|
3 | | -on: [push] |
| 3 | +on: [push, pull_request] |
4 | 4 |
|
5 | 5 | jobs: |
6 | 6 | unit-tests: |
7 | 7 |
|
8 | 8 | strategy: |
9 | 9 | fail-fast: false |
10 | 10 | matrix: |
11 | | - python-version: ['3.14'] |
| 11 | + python-version: ['3.12', '3.13', '3.14'] |
| 12 | + os: [ubuntu-latest] |
12 | 13 |
|
13 | | - runs-on: ubuntu-latest |
| 14 | + runs-on: ${{ matrix.os }} |
14 | 15 |
|
15 | 16 | steps: |
16 | 17 | - name: "Checkout" |
17 | | - uses: actions/checkout@v2 |
| 18 | + uses: actions/checkout@v4 |
18 | 19 |
|
19 | 20 | - name: Set up Python ${{ matrix.python-version }} |
20 | | - uses: actions/setup-python@v2 |
| 21 | + uses: actions/setup-python@v5 |
21 | 22 | with: |
22 | 23 | python-version: ${{ matrix.python-version }} |
23 | 24 |
|
24 | | - - name: "Update apt and install cmake" |
| 25 | + - name: "Update apt and install dependencies" |
25 | 26 | run: | |
26 | 27 | sudo apt-get -y update |
27 | | - sudo apt-get install -y cmake |
| 28 | + sudo apt-get install -y cmake gcc g++ |
28 | 29 | sudo apt-get install -y libatlas-base-dev libatlas3-base |
29 | 30 |
|
30 | | - - name: "Install sundials and fftw" |
| 31 | + - name: "Install SUNDIALS and FFTW" |
31 | 32 | working-directory: ./bin |
32 | 33 | run: | |
33 | 34 | bash install-fftw.sh |
34 | 35 | bash install-sundials.sh |
35 | | - |
36 | | - - name: "Install pip and packages" |
37 | | - working-directory: ./ |
| 36 | +
|
| 37 | + - name: "Install uv" |
38 | 38 | run: | |
39 | | - python3 -m ensurepip |
40 | | - python3 -m pip install --upgrade pip |
41 | | - python3 -m pip install --user scipy numpy pytest matplotlib |
42 | | - python3 -m pip install --user setuptools pyvtk cython psutil |
| 39 | + curl -LsSf https://astral.sh/uv/install.sh | sh |
| 40 | + echo "$HOME/.cargo/bin" >> $GITHUB_PATH |
43 | 41 |
|
44 | | - - name: "Install FIDIMAG" |
| 42 | + - name: "Build and install Fidimag" |
45 | 43 | run: | |
46 | | - python3 setup.py build_ext --inplace |
47 | | - PWD=$(pwd) |
48 | | - export PYTHONPATH=$PWD:$PYTHONPATH |
49 | | - echo "PYTHONPATH=$PYTHONPATH" |
50 | | - echo "PYTHONPATH=$PYTHONPATH" >> $GITHUB_ENV |
51 | | - echo "LD_LIBRARY_PATH=$PWD/local/lib" >> $GITHUB_ENV |
52 | | -
|
53 | | - - name: "Run test" |
| 44 | + uv sync --frozen --all-extras |
| 45 | + echo "LD_LIBRARY_PATH=$PWD/local/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV |
| 46 | +
|
| 47 | + - name: "Run tests" |
54 | 48 | working-directory: ./tests |
55 | 49 | run: | |
56 | | - python3 -m pytest -v |
57 | | -# env: |
58 | | -# PYTHONPATH: $PWD |
| 50 | + uv run pytest -v -m "not slow and not run_oommf" |
0 commit comments