Merge PyChaste into Chaste develop #30
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: Ubuntu compilers | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- '**' | |
push: | |
branches: | |
- develop | |
jobs: | |
compiler-all-libs: | |
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:off') }} | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- cc: "clang-13" | |
cxx: "clang++-13" | |
build-type: "Debug" | |
- cc: "clang-14" | |
cxx: "clang++-14" | |
build-type: "Release" | |
- cc: "gcc-10" | |
cxx: "g++-10" | |
build-type: "Release" | |
- cc: "gcc-12" | |
cxx: "g++-12" | |
build-type: "Debug" | |
- cc: "icx" | |
cxx: "icpx" | |
build-type: "Debug" | |
- cc: "icx" | |
cxx: "icpx" | |
build-type: "Release" | |
env: | |
CHASTE_TEST_OUTPUT: ${{ github.workspace }}/chaste-test-dir | |
CC: ${{ matrix.cc }} | |
CXX: ${{ matrix.cxx }} | |
steps: | |
- name: checkout repository | |
uses: actions/checkout@v4 | |
- name: install dependencies | |
run: | | |
echo 'deb [signed-by=/usr/share/keyrings/chaste.asc] https://chaste.github.io/ubuntu jammy/' | sudo tee -a /etc/apt/sources.list.d/chaste.list | |
sudo wget -O /usr/share/keyrings/chaste.asc https://chaste.github.io/chaste.asc | |
sudo apt update | |
sudo apt install chaste-dependencies | |
- name: install and set up Intel LLVM compiler | |
run: | | |
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list | |
sudo wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null | |
sudo apt update | |
sudo apt install intel-oneapi-compiler-dpcpp-cpp | |
source /opt/intel/oneapi/setvars.sh | |
printenv >> $GITHUB_ENV | |
if: ${{ matrix.cc == 'icx' }} | |
- name: compiler version | |
run: | | |
${CXX} --version | |
- name: make build and test directories | |
run: | | |
mkdir -p chaste-build-dir | |
mkdir -p ${CHASTE_TEST_OUTPUT} | |
- name: cmake configure | |
run: cmake -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} .. | |
working-directory: chaste-build-dir | |
- name: build core libraries | |
run: cmake --build . --parallel 4 --target chaste_core | |
working-directory: chaste-build-dir | |
- name: build cell_based | |
run: cmake --build . --parallel 4 --target chaste_cell_based | |
working-directory: chaste-build-dir | |
- name: build crypt | |
run: cmake --build . --parallel 4 --target chaste_crypt | |
working-directory: chaste-build-dir | |
- name: build heart | |
run: cmake --build . --parallel 4 --target chaste_heart | |
working-directory: chaste-build-dir | |
- name: build lung | |
run: cmake --build . --parallel 4 --target chaste_lung | |
working-directory: chaste-build-dir |