\\(xy^2\\) position #1101
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: DOLFINx integration | |
| # This workflow will install Basix, FFCx, DOLFINx and run the DOLFINx | |
| # unit tests. | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| merge_group: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| inputs: | |
| dolfinx_branch: | |
| description: "DOLFINx branch or tag" | |
| default: "main" | |
| type: string | |
| ffcx_branch: | |
| description: "FFCx branch or tag" | |
| default: "main" | |
| type: string | |
| ufl_branch: | |
| description: "UFL branch or tag" | |
| default: "main" | |
| type: string | |
| jobs: | |
| build: | |
| name: Run DOLFINx tests | |
| runs-on: ubuntu-latest | |
| container: ghcr.io/fenics/test-env:current-openmpi | |
| env: | |
| PETSC_ARCH: linux-gnu-complex64-32 | |
| OMPI_ALLOW_RUN_AS_ROOT: 1 | |
| OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 | |
| PRTE_MCA_rmaps_default_mapping_policy: :oversubscribe # Newer OpenMPI | |
| OMPI_MCA_rmaps_base_oversubscribe: true # Older OpenMPI | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install Basix | |
| run: | | |
| cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -B build-dir -S ./cpp | |
| cmake --build build-dir | |
| cmake --install build-dir | |
| python3 -m pip install --break-system-packages ./python | |
| - name: Install FEniCS Python components | |
| if: github.event_name != 'workflow_dispatch' | |
| run: | | |
| python3 -m pip install --break-system-packages git+https://github.com/FEniCS/ufl.git | |
| python3 -m pip install --break-system-packages git+https://github.com/FEniCS/ffcx.git | |
| - name: Install FEniCS Python components | |
| if: github.event_name == 'workflow_dispatch' | |
| run: | | |
| python3 -m pip install --break-system-packages git+https://github.com/FEniCS/ufl.git@${{ github.event.inputs.ufl_branch }} | |
| python3 -m pip install --break-system-packages git+https://github.com/FEniCS/ffcx.git@${{ github.event.inputs.ffcx_branch }} | |
| - name: Get DOLFINx | |
| if: github.event_name != 'workflow_dispatch' | |
| uses: actions/checkout@v6 | |
| with: | |
| path: ./dolfinx | |
| repository: FEniCS/dolfinx | |
| ref: main | |
| - name: Get DOLFINx | |
| if: github.event_name == 'workflow_dispatch' | |
| uses: actions/checkout@v6 | |
| with: | |
| path: ./dolfinx | |
| repository: FEniCS/dolfinx | |
| ref: ${{ github.event.inputs.dolfinx_branch }} | |
| - name: Install DOLFINx (C++) | |
| run: | | |
| cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -DBUILD_TESTING=true -B build -S dolfinx/cpp/ | |
| cmake --build build | |
| cmake --install build | |
| - name: Run DOLFINx C++ unit tests | |
| working-directory: build | |
| run: ctest -V --output-on-failure -R unittests | |
| - name: Install DOLFINx (Python) | |
| run: | | |
| python3 -m pip install scikit-build-core | |
| python3 -m scikit_build_core.build requires | python3 -c "import sys, json; print(' '.join(json.load(sys.stdin)))" | xargs pip install | |
| python3 -m pip -v install --break-system-packages --check-build-dependencies --no-build-isolation dolfinx/python/ | |
| - name: Run mypy checks | |
| run: | | |
| python3 -m pip install --break-system-packages mypy | |
| cd dolfinx/python | |
| python3 -m mypy dolfinx | |
| - name: Install Python demo/test dependencies | |
| run: python3 -m pip install --break-system-packages matplotlib numba pyamg pytest pytest-xdist scipy pyvista networkx | |
| - name: Run DOLFINx Python unit tests | |
| run: | | |
| cd dolfinx | |
| python3 -m pytest -n auto python/test/unit | |
| - name: Run DOLFINx Python demos | |
| run: | | |
| cd dolfinx/ | |
| python3 -m pytest -n auto -m serial --durations=10 python/demo/test.py |