diff options
-rwxr-xr-x | .github/scripts/install_deps.sh | 16 | ||||
-rw-r--r-- | .github/workflows/test.yml | 10 |
2 files changed, 25 insertions, 1 deletions
diff --git a/.github/scripts/install_deps.sh b/.github/scripts/install_deps.sh index 05e07bda1d..bcc9789908 100755 --- a/.github/scripts/install_deps.sh +++ b/.github/scripts/install_deps.sh @@ -13,6 +13,22 @@ os=$(uname -s) if [[ $os == Linux ]]; then sudo apt-get update sudo apt-get install -y attr build-essential cmake curl gettext libattr1-dev ninja-build unzip + + if [[ $CC == clang ]]; then + DEFAULT_CLANG_VERSION=$(echo | clang -dM -E - | grep __clang_major | awk '{print $3}') + CLANG_VERSION=17 + if ((DEFAULT_CLANG_VERSION >= CLANG_VERSION)); then + echo "Default clang version is $DEFAULT_CLANG_VERSION, which equal or larger than wanted version $CLANG_VERSION. Aborting!" + exit 1 + fi + + wget https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh $CLANG_VERSION + sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-$CLANG_VERSION 100 + sudo update-alternatives --set clang /usr/bin/clang-$CLANG_VERSION + fi + if [[ -n $TEST ]]; then sudo apt-get install -y locales-all cpanminus fi diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3cfc6eee89..aed079cb60 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,6 +32,8 @@ jobs: lint: runs-on: ubuntu-22.04 timeout-minutes: 10 + env: + CC: clang steps: - uses: actions/checkout@v4 @@ -86,6 +88,8 @@ jobs: clang-analyzer: runs-on: ubuntu-22.04 timeout-minutes: 20 + env: + CC: clang steps: - uses: actions/checkout@v4 - run: ./.github/scripts/install_deps.sh @@ -304,6 +308,8 @@ jobs: build-types: runs-on: ubuntu-22.04 timeout-minutes: 10 + env: + CC: gcc steps: - uses: actions/checkout@v4 @@ -318,7 +324,7 @@ jobs: cmake --build .deps - name: Configure - run: cmake -B build -G "Ninja Multi-Config" -D CMAKE_C_COMPILER=gcc -D CI_BUILD=ON + run: cmake -B build -G "Ninja Multi-Config" -D CI_BUILD=ON - name: Release run: cmake --build build --config Release @@ -332,6 +338,8 @@ jobs: with-external-deps: runs-on: ubuntu-22.04 timeout-minutes: 10 + env: + CC: gcc steps: - uses: actions/checkout@v4 |