diff --git a/.github/workflows/it-compiles-test.yml b/.github/workflows/it-compiles-test.yml new file mode 100644 index 0000000..f7b5323 --- /dev/null +++ b/.github/workflows/it-compiles-test.yml @@ -0,0 +1,40 @@ +name: It Compiles! +on: [push, workflow_dispatch] +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install llvm + run: | + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 19 + sudo rm -f $(which clang) $(which clang++) + sudo rm -f /usr/bin/clang /usr/bin/clang++ + sudo ln -s $(which clang-19) /usr/bin/clang + sudo ln -s $(which clang++-19) /usr/bin/clang++ + + - name: Install dependencies + run: | + sudo apt-get update && sudo apt-get install binutils gcc g++ cmake ninja-build xorriso acpica-tools git -y + + - name: Checkout repository + uses: actions/checkout@v3 + with: + submodules: true + + - name: Build (x86_64 Clang) + run: | + cmake -B build -G Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ + ninja -C build + + - name: Build (x86_64 Gcc) + run: | + cmake -B build -G Ninja + ninja -C build + + - name: Build (Aarch64 Clang) + run: | + cmake -B build -G Ninja -DCMAKE_TOOLCHAIN_FILE=cmake/toolchain_clang_aarch64.cmake + ninja -C build +