mirror of
https://github.com/sal063/AC6_recomp
synced 2026-09-02 02:12:34 -04:00
80 lines
2.1 KiB
YAML
80 lines
2.1 KiB
YAML
name: Build rexglue-sdk linux ARM64
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-24.04-arm
|
|
|
|
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: |
|
|
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 libvulkan-dev glslc glslang-tools
|
|
|
|
- name: Configure (CMake preset)
|
|
run: cmake --preset linux-arm64
|
|
|
|
- name: Build and Install
|
|
run: cmake --build out/build/linux-arm64 --target install -j$(nproc)
|
|
|
|
- name: Package install directory
|
|
run: |
|
|
cd out/install
|
|
zip -r rexglue-sdk-linux-arm64.zip linux-arm64
|
|
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: rexglue-sdk-linux-arm64
|
|
path: out/install/rexglue-sdk-linux-arm64.zip
|
|
retention-days: 90
|
|
|
|
release:
|
|
needs: build
|
|
runs-on: ubuntu-latest
|
|
if: startsWith(github.ref, 'refs/tags/')
|
|
steps:
|
|
- name: Download artifact
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: rexglue-sdk-linux-arm64
|
|
path: .
|
|
|
|
- name: Upload release asset
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: rexglue-sdk-linux-arm64.zip
|
|
generate_release_notes: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|