Skip to content

Try C++ only build.

Try C++ only build. #4

Workflow file for this run

name: Windows build
on:
push:
branches:
- "**"
schedule:
# '*' is a special character in YAML, so string must be quoted
- cron: "0 4 * * WED"
workflow_dispatch:
jobs:
windows-build:
name: Windows vcpkg build
runs-on: windows-latest
env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
steps:
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- uses: actions/checkout@v4
with:
repository: "fenics/ffcx"
path: ffcx
- name: Install UFCx header
working-directory: ffcx
run: |
cmake -B build-dir -S cmake/
cmake --build build-dir --config Release
cmake --install build-dir --config Release --prefix D:/a/dolfinx/ufcx-install
- uses: actions/checkout@v4
with:
repository: "fenics/ufl"
path: ufl
- name: Install UFL
working-directory: ufl
run: |
pip install .
- uses: actions/checkout@v4
with:
repository: "fenics/basix"
path: basix
- name: Install Basix (C++)
working-directory: basix
run: |
cd cpp
cmake -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -B build-dir -S .
cmake --build build-dir --config Release
cmake --install build-dir --config Release --prefix D:/a/dolfinx/basix-install
echo "D:/a/dolfinx/basix-install/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
- uses: actions/checkout@v4
with:
path: dolfinx
- name: Build and install DOLFINx C++ library
working-directory: dolfinx
run: |
cmake -DBasix_DIR=D:/a/dolfinx/basix-install/lib/cmake/basix -Dufcx_DIR=D:/a/dolfinx/ufcx-install/lib/cmake/ufcx -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -B build-dir -S cpp/
cmake --build build-dir --config Release
cmake --install build-dir --config Release --prefix D:/a/dolfinx/dolfinx-install
echo "D:/a/dolfinx/dolfinx-install/bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
- name: Build C++ unit tests
working-directory: dolfinx
run: |
cmake -G Ninja -DCMAKE_BUILD_TYPE=Developer -B build/test/ -S cpp/test/
cmake --build build/test --parallel 3
- name: Run C++ unit tests (serial)
working-directory: dolfinx
run: |
cd build/test
ctest -V --output-on-failure -R unittests
- name: Run C++ unit tests (MPI)
working-directory: dolfinx
run: |
cd build/test
mpiexec -np 3 ctest -V --output-on-failure -R unittests