82
.github/workflows/cmake.yml
vendored
Normal file
82
.github/workflows/cmake.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
||||
name: cmake
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-24.04
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cache Submodules
|
||||
id: cache-submodules
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
./deps
|
||||
.git/modules/deps/
|
||||
key: submodules-${{ github.sha }}
|
||||
restore-keys: |
|
||||
submodules-
|
||||
|
||||
- name: Cache Clice
|
||||
id: cache-clice
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
./build/CMakeFiles/**/*.o
|
||||
key: clice-${{ github.sha }}
|
||||
restore-keys: |
|
||||
clice-
|
||||
|
||||
- name: Update Submodules
|
||||
run: |
|
||||
git submodule init
|
||||
git submodule update --recursive --depth 1
|
||||
|
||||
- name: Install python
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.9'
|
||||
|
||||
- name: Install gcc
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y software-properties-common
|
||||
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
|
||||
sudo apt update
|
||||
sudo apt install -y gcc-14 g++-14 libstdc++-14-dev
|
||||
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100
|
||||
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
|
||||
sudo update-alternatives --set gcc /usr/bin/gcc-14
|
||||
sudo update-alternatives --set g++ /usr/bin/g++-14
|
||||
|
||||
- name: Install clang
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y wget
|
||||
wget -O - https://apt.llvm.org/llvm.sh | sudo bash
|
||||
sudo apt install -y llvm-18 llvm-18-tools clang-18 libclang-rt-18-dev lld-18
|
||||
sudo ln -s /usr/bin/llvm-ar-18 /usr/bin/llvm-ar
|
||||
sudo ln -s /usr/bin/llvm-ranlib-18 /usr/bin/llvm-ranlib
|
||||
|
||||
- name: Install cmake and ninja
|
||||
run: |
|
||||
sudo apt install -y cmake ninja-build
|
||||
|
||||
- name: Build LLVM
|
||||
run: |
|
||||
python3 ./scripts/build-llvm-dev.py
|
||||
|
||||
- name: Build clice
|
||||
run: |
|
||||
bash ./scripts/build-dev-test.sh && cmake --build build
|
||||
|
||||
- name: Run tests
|
||||
run: ./build/bin/unit_tests --test-dir=./tests
|
||||
Reference in New Issue
Block a user