Files
2026-04-17 20:09:41 +03:00

64 lines
1.9 KiB
YAML

name: Build rexglue-sdk linux
on:
push:
tags:
- "v*"
jobs:
build:
runs-on: ubuntu-latest
env:
CC: clang-20
CXX: clang++-20
steps:
- name: Checkout (with submodules)
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Clang 20
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg lsb-release
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
sudo apt-get install -y clang-20 lld-20
- name: Update alternatives to use Clang 20
run: |
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 200
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 200
clang --version
clang++ --version
- name: Install build dependencies
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 -y cmake ninja-build build-essential git curl unzip autoconf python3.12-venv \
libgtk-3-dev libx11-xcb-dev wine vulkan-sdk
- name: Configure (CMake preset)
run: cmake --preset linux-amd64
- name: Make Install
run: cmake --build out/build/linux-amd64 --target install -j20
- name: Package install directory
run: |
cd out/install
zip -r rexglue-sdk-linux-amd64.zip linux-amd64
- name: Upload release asset
uses: softprops/action-gh-release@v2
with:
files: out/install/rexglue-sdk-linux-amd64.zip
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}