Skip to content

💚 fixed CI workflow compiler selection #28

💚 fixed CI workflow compiler selection

💚 fixed CI workflow compiler selection #28

name: clang:ubuntu
on: push
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
build_mode: ["Release", "Debug"]
os: ["ubuntu-24.04"]
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Cache and Install Dependencies
id: cache-and-install
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/SDKs
${{ github.workspace }}/deps
${{ github.workspace }}/tools
./third_party
key: ${{ matrix.os }}-${{ hashFiles('**/lockfiles') }}-${{ hashFiles('CMakeLists.txt') }}-${{ hashFiles('vcpkg.json') }}
- name: Update Apt
run: |
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade
- name: Install Build Tools
run: sudo apt install build-essential ninja-build clang-18 cmake wget
- name: Install Vulkan SDK
run: wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc && sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list http://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list && sudo apt update && sudo apt install vulkan-sdk
if: steps.cache-and-install.outputs.cache-hit != 'true'
- name: Install VCPKG
run: |
git clone --depth=1 https://github.com/microsoft/vcpkg.git ${{ github.workspace }}/tools/vcpkg && cd ${{ github.workspace }}/tools/vcpkg && ./bootstrap-vcpkg.sh -disableMetrics
if: steps.cache-and-install.outputs.cache-hit != 'true'
- name: Install Dependencies, Configure, and Build Ashura
run: |
sudo apt install nasm && mkdir build && cd build && cmake .. -DCMAKE_C_COMPILER=clang-18 -DCMAKE_CXX_COMPILER=clang++-18 -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/tools/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_INSTALLED_DIR=${{ github.workspace }}/tools/vcpkg/installed -DCMAKE_BUILD_TYPE=${{ matrix.build_mode }} -GNinja && ninja
- name: Run Ashura Test
run: |
cd build/ && ./ashura_std_tests && ./ashura_engine_tests