Set up CTest #17239
Workflow file for this run
This file contains 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: 🪟 Windows | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }}-${{ github.head_ref }}-windows | |
cancel-in-progress: true | |
jobs: | |
build_win_msvc: | |
name: MSVC C++17 w/o MPI | |
runs-on: windows-latest | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: CCache Cache | |
uses: actions/cache@v4 | |
# - once stored under a key, they become immutable (even if local cache path content changes) | |
# - for a refresh the key has to change, e.g., hash of a tracked file in the key | |
with: | |
path: | | |
~/.ccache | |
~/.cache/ccache | |
key: ccache-windows-winmsvc-${{ hashFiles('.github/workflows/windows.yml') }}-${{ hashFiles('cmake/dependencies/AMReX.cmake') }} | |
restore-keys: | | |
ccache-windows-winmsvc-${{ hashFiles('.github/workflows/windows.yml') }}- | |
ccache-windows-winmsvc- | |
- name: Build & Install | |
run: | | |
cmake -S . -B build ` | |
-DCMAKE_BUILD_TYPE=Debug ` | |
-DCMAKE_VERBOSE_MAKEFILE=ON ` | |
-DWarpX_COMPUTE=NOACC ` | |
-DWarpX_OPENPMD=ON ` | |
-DWarpX_MPI=OFF ` | |
-DWarpX_PYTHON=ON | |
if(!$?) { Exit $LASTEXITCODE } | |
cmake --build build --config Debug --parallel 4 | |
if(!$?) { Exit $LASTEXITCODE } | |
python3 -m pip install --upgrade pip | |
if(!$?) { Exit $LASTEXITCODE } | |
python3 -m pip install --upgrade build packaging setuptools wheel | |
if(!$?) { Exit $LASTEXITCODE } | |
cmake --build build --config Debug --target install | |
if(!$?) { Exit $LASTEXITCODE } | |
cmake --build build --config Debug --target pip_install | |
if(!$?) { Exit $LASTEXITCODE } | |
- name: Test | |
run: | | |
$env:PATH += ';C:/Program Files (x86)/WarpX/bin/' | |
python3 Examples\Tests\gaussian_beam\PICMI_inputs_gaussian_beam.py | |
# JSON writes are currently very slow (50min) with MSVC | |
# --diagformat=openpmd | |
build_win_clang: | |
name: Clang C++17 w/ OMP w/o MPI | |
runs-on: windows-2019 | |
if: github.event.pull_request.draft == false | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.8' | |
- uses: seanmiddleditch/gha-setup-ninja@master | |
- name: CCache Cache | |
uses: actions/cache@v4 | |
# - once stored under a key, they become immutable (even if local cache path content changes) | |
# - for a refresh the key has to change, e.g., hash of a tracked file in the key | |
with: | |
path: | | |
~/.ccache | |
~/.cache/ccache | |
key: ccache-windows-winclang-${{ hashFiles('.github/workflows/windows.yml') }}-${{ hashFiles('cmake/dependencies/AMReX.cmake') }} | |
restore-keys: | | |
ccache-windows-winclang-${{ hashFiles('.github/workflows/windows.yml') }}- | |
ccache-windows-winclang- | |
- name: Build & Install | |
shell: cmd | |
run: | | |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\vc\Auxiliary\build\vcvarsall.bat" x64 | |
cmake -S . -B build ^ | |
-G "Ninja" ^ | |
-DCMAKE_C_COMPILER=clang-cl ^ | |
-DCMAKE_CXX_COMPILER=clang-cl ^ | |
-DCMAKE_BUILD_TYPE=Release ^ | |
-DCMAKE_VERBOSE_MAKEFILE=ON ^ | |
-DWarpX_COMPUTE=OMP ^ | |
-DWarpX_EB=OFF ^ | |
-DWarpX_PYTHON=ON ^ | |
-DWarpX_MPI=OFF ^ | |
-DWarpX_OPENPMD=ON | |
if errorlevel 1 exit 1 | |
cmake --build build --config Release --parallel 4 | |
if errorlevel 1 exit 1 | |
cmake --build build --config Release --target install | |
if errorlevel 1 exit 1 | |
python3 -m pip install --upgrade pip | |
if errorlevel 1 exit 1 | |
python3 -m pip install --upgrade build packaging setuptools wheel | |
if errorlevel 1 exit 1 | |
python3 -m pip install --upgrade -r requirements.txt | |
if errorlevel 1 exit 1 | |
cmake --build build --config Release --target pip_install | |
if errorlevel 1 exit 1 | |
- name: Test | |
shell: cmd | |
run: | | |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\vc\Auxiliary\build\vcvarsall.bat" x64 | |
set "PATH=C:/Program Files (x86)/WarpX/bin/;%PATH%" | |
python3 Examples\Tests\gaussian_beam\PICMI_inputs_gaussian_beam.py --diagformat=openpmd | |
if errorlevel 1 exit 1 |