Skip to content

save

save #13

Workflow file for this run

name: Test SQUINT
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
USE_MKL: [off, on]
env:
CMAKE_VERSION: "3.28.x"
NINJA_VERSION: "1.11.1"
CLANG_VERSION: "17"
steps:
- name: Setup cmake
uses: jwlawson/[email protected]
with:
cmake-version: ${{ env.CMAKE_VERSION }}
- name: Setup Ninja
run: |
sudo wget https://github.com/ninja-build/ninja/archive/v${{ env.NINJA_VERSION }}.tar.gz
tar xf v${{ env.NINJA_VERSION }}.tar.gz
cd ninja-${{ env.NINJA_VERSION }}
cmake -Bbuild-cmake -H. -DCMAKE_BUILD_TYPE=Release
cmake --build build-cmake
mv build-cmake/ninja /usr/local/bin/ninja
- name: Install LLVM and Clang
run: |
sudo wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
echo "deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ env.CLANG_VERSION }} main" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install -y \
clang-${{ env.CLANG_VERSION }} \
llvm-${{ env.CLANG_VERSION }} \
llvm-${{ env.CLANG_VERSION }}-dev \
llvm-${{ env.CLANG_VERSION }}-runtime \
libc++-${{ env.CLANG_VERSION }}-dev \
libc++abi-${{ env.CLANG_VERSION }}-dev \
libomp-${{ env.CLANG_VERSION }}-dev \
libomp5-${{ env.CLANG_VERSION }} \
lldb-${{ env.CLANG_VERSION }} \
liblldb-${{ env.CLANG_VERSION }} \
clang-tools-${{ env.CLANG_VERSION }}
- name: Set default clang and clang++
run: |
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VERSION }} 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ env.CLANG_VERSION }} 100
- name: Install Intel MKL
run: |
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB -O /tmp/intel-key.pub
sudo gpg --no-default-keyring --keyring /etc/apt/trusted.gpg.d/intel.gpg --import /tmp/intel-key.pub
sudo rm /tmp/intel-key.pub
sudo echo "deb [signed-by=/etc/apt/trusted.gpg.d/intel.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install -y intel-oneapi-mkl-devel
ls /opt/intel/oneapi/compiler/2024.0/lib/
- name: Checkout code
uses: actions/checkout@v4
- name: Configure with CMake
working-directory: ${{ github.workspace }}
run: |
source /opt/intel/oneapi/setvars.sh
mkdir build
cd build
cmake -G Ninja -DUSE_MKL=${{ matrix.USE_MKL }} -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++-17 -DCMAKE_C_COMPILER=clang-17 ..
- name: Build with CMake
working-directory: ${{ github.workspace }}/build
run: |
source /opt/intel/oneapi/setvars.sh
cmake --build .
- name: Run tests
working-directory: ${{ github.workspace }}/build
run: |
./tests