Skip to content

Commit

Permalink
Merge pull request #634 from mmuetzel/ci-ubuntu
Browse files Browse the repository at this point in the history
CI: Add runner with Ubuntu on ARM64
  • Loading branch information
juharu authored Jan 28, 2025
2 parents 7596fa9 + 032d74c commit a4d2120
Showing 1 changed file with 29 additions and 9 deletions.
38 changes: 29 additions & 9 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,40 +17,54 @@ jobs:
ubuntu:
# For available GitHub-hosted runners, see:
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
runs-on: ubuntu-24.04
runs-on: ${{ matrix.os }}

name: ubuntu (${{ matrix.compiler }} ${{ matrix.mpi }} MPI ${{ matrix.openmp }} OpenMP)
name: ${{ matrix.os }} (${{ matrix.compiler }} ${{ matrix.mpi }} MPI ${{ matrix.openmp }} OpenMP)

strategy:
# Allow other runners in the matrix to continue if some fail
fail-fast: false

matrix:
os: [ubuntu-24.04]
compiler: [gcc]
mpi: [with]
openmp: [with]
include:
- compiler: gcc
- os: ubuntu-24.04
compiler: gcc
compiler-pkgs: "g++ gcc"
cc: "gcc"
cxx: "g++"
mpi: with
openmp: with
openmp-cmake-flags: "-DWITH_OpenMP=ON"
- compiler: gcc
- os: ubuntu-24.04
compiler: gcc
compiler-pkgs: "g++ gcc"
cc: "gcc"
cxx: "g++"
mpi: without
openmp: with
openmp-cmake-flags: "-DWITH_OpenMP=ON"
- compiler: gcc
- os: ubuntu-24.04
compiler: gcc
compiler-pkgs: "g++ gcc"
cc: "gcc"
cxx: "g++"
mpi: with
openmp: without
openmp-cmake-flags: "-DWITH_OpenMP=OFF"
- os: ubuntu-24.04-arm
compiler: gcc
compiler-pkgs: "g++ gcc"
cc: "gcc"
cxx: "g++"
mpi: with
openmp: without
openmp-cmake-flags: "-DWITH_OpenMP=OFF"
- compiler: clang
- os: ubuntu-24.04
compiler: clang
compiler-pkgs: "clang"
cc: "clang"
cxx: "clang++"
Expand Down Expand Up @@ -79,10 +93,16 @@ jobs:
submodules: recursive

- name: install dependencies
# OpenBLAS before version 0.3.29 shipped kernels for ?NRM2 on
# Neoverse N2 that was inaccurate or returned NaN. Use the
# reference implementation for the Ubuntu on ARM runners to avoid
# that issue.
# Consider reverting to OpenBLAS for all runners once Ubuntu ships
# a new enough version.
run: |
sudo apt -qq update
sudo apt install -y ${{ matrix.compiler-pkgs }} cmake gfortran \
libopenblas-dev \
$([ "${{ matrix.os }}" == "ubuntu-24.04-arm" ] && echo "libblas-dev liblapack-dev" || echo "libopenblas-dev") \
$([ "${{ matrix.mpi }}" == "with" ] && echo "libhypre-dev") \
$([ "${{ matrix.mpi }}" == "with" ] && echo "libopenmpi-dev libmumps-dev libparmetis-dev") \
$([ "${{ matrix.compiler }}" == "gcc" ] && echo "libsuitesparse-dev") \
Expand All @@ -98,14 +118,14 @@ jobs:
run: |
# work around error in the rocALUTION CMake config file distributed by Ubuntu
if [ "${{ matrix.compiler }}" == "gcc" ] && [ "${{ matrix.mpi }}" == "with" ]; then
sudo sed -i '/find_dependency(HIP)/d' /usr/lib/x86_64-linux-gnu/cmake/rocalution/rocalution-config.cmake
sudo sed -i '/find_dependency(HIP)/d' /usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/cmake/rocalution/rocalution-config.cmake
fi
mkdir ${GITHUB_WORKSPACE}/build
cd ${GITHUB_WORKSPACE}/build
cmake \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_INSTALL_PREFIX="${GITHUB_WORKSPACE}/usr" \
-DBLA_VENDOR="OpenBLAS" \
$([ "${{ matrix.os }}" == "ubuntu-24.04-arm" ] && echo "-DBLA_VENDOR=Generic" || echo "-DBLA_VENDOR=OpenBLAS") \
${{ matrix.openmp-cmake-flags }} \
-DWITH_LUA=ON \
$([ "${{ matrix.mpi }}" == "with" ] && echo "-DWITH_Zoltan=ON" || echo "-DWITH_Zoltan=OFF") \
Expand Down

0 comments on commit a4d2120

Please sign in to comment.