Merge pull request #48 from ko-matsu/feature/upgrade-ci-20240908 #300
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: push check | |
on: | |
push: | |
branches: | |
- cmake_build | |
- cfd-develop | |
- dlc-develop | |
- cfd-stable-* | |
- feature/* | |
pull_request: | |
branches: | |
- cmake_build | |
- cfd-develop | |
- dlc-develop | |
- cfd-stable-* | |
- feature/* | |
jobs: | |
cmake-build: | |
timeout-minutes: 20 | |
name: cmake build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-2022, windows-2019, macos-14, macos-13, macos-12, ubuntu-24.04, ubuntu-22.04, ubuntu-20.04] | |
generator: ['Unix Makefiles'] | |
include: | |
- os: windows-2022 | |
generator: 'Visual Studio 17 2022' | |
- os: windows-2019 | |
generator: 'Visual Studio 16 2019' | |
- os: windows-2019 | |
generator: 'MSYS Makefiles' | |
exclude: | |
- os: windows-2022 | |
generator: 'Unix Makefiles' | |
- os: windows-2019 | |
generator: 'Unix Makefiles' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
architecture: x64 | |
- name: cmake-generate | |
if: "matrix.generator == 'Unix Makefiles' || matrix.generator == 'MSYS Makefiles'" | |
run: | | |
cmake -S . -B build -G "${{ matrix.generator }}" -DENABLE_SHARED=on -DENABLE_ELEMENTS=on -DCMAKE_BUILD_PARALLEL_LEVEL=2 -DGENERATE_WALLY=off -DTARGET_RPATH="./wrap_js/build/Release;\$\${ORIGIN}/;\${ORIGIN}/" | |
- name: cmake-generate-vs | |
if: "matrix.generator != 'Unix Makefiles' && matrix.generator != 'MSYS Makefiles'" | |
run: | | |
cmake -S . -B build -G "${{ matrix.generator }}" -A x64 -DENABLE_SHARED=on -DENABLE_ELEMENTS=on -DCMAKE_BUILD_PARALLEL_LEVEL=2 -DGENERATE_WALLY=off -DTARGET_RPATH="./wrap_js/build/Release;\$\${ORIGIN}/;\${ORIGIN}/" | |
- name: cmake-build | |
run: | | |
cmake --version | |
cmake --build build --config Release | |
- name: test | |
run: | | |
cd build | |
ctest -C Release --output-on-failure | |
cmake-swig-python-build: | |
timeout-minutes: 20 | |
name: cmake swig python build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# os: [macos-13, windows-2022, ubuntu-22.04] | |
os: [ubuntu-22.04] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: setup python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
architecture: x64 | |
- name: cmake-generate-python-config | |
if: matrix.os != 'windows-2022' | |
run: | | |
cmake -S . -B build -G "Unix Makefiles" -DENABLE_SHARED=on -DENABLE_ELEMENTS=on -DCMAKE_BUILD_PARALLEL_LEVEL=2 -DENABLE_SWIG_PYTHON=on -DGENERATE_WALLY=off -DTARGET_RPATH="./wrap_js/build/Release;../" | |
- name: cmake-generate-windows-python-config | |
if: matrix.os == 'windows-2022' | |
run: | | |
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DENABLE_SHARED=on -DENABLE_ELEMENTS=on -DCMAKE_BUILD_PARALLEL_LEVEL=2 -DENABLE_SWIG_PYTHON=on -DGENERATE_WALLY=off -DTARGET_RPATH="./wrap_js/build/Release;../" | |
- name: cmake-build | |
run: | | |
cmake --version | |
cmake --build build --config Release | |
- name: test | |
run: | | |
cd build | |
ctest -C Release --output-on-failure | |
cmake-swig-java-build: | |
timeout-minutes: 20 | |
name: cmake swig java build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# os: [macos-13, windows-2022, ubuntu-22.04] | |
os: [ubuntu-22.04] | |
java: ['8', '11', '17', '21'] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: setup java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
architecture: x64 | |
distribution: 'temurin' | |
- name: cmake-generate-java-config | |
if: matrix.os != 'windows-2022' | |
run: | | |
cmake -S . -B build -G "Unix Makefiles" -DENABLE_SHARED=on -DENABLE_ELEMENTS=on -DCMAKE_BUILD_PARALLEL_LEVEL=2 -DENABLE_SWIG_JAVA=on -DGENERATE_WALLY=off -DTARGET_RPATH="./wrap_js/build/Release;../" | |
- name: cmake-generate-windows-java-config | |
if: matrix.os == 'windows-2022' | |
run: | | |
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DENABLE_SHARED=on -DENABLE_ELEMENTS=on -DCMAKE_BUILD_PARALLEL_LEVEL=2 -DENABLE_SWIG_JAVA=on -DGENERATE_WALLY=off -DTARGET_RPATH="./wrap_js/build/Release;../" | |
- name: cmake-build | |
run: | | |
cmake --version | |
cmake --build build --config Release | |
- name: test | |
run: | | |
cd build | |
ctest -C Release --output-on-failure |