64 lines
2.0 KiB
YAML
64 lines
2.0 KiB
YAML
name: Pull Request Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
types: [opened, reopened, synchronize]
|
|
paths-ignore:
|
|
- '.gitignore'
|
|
- '*.md'
|
|
- '.github/*.md'
|
|
|
|
jobs:
|
|
build:
|
|
if: >
|
|
!gitea.event.head_commit ||
|
|
!contains(gitea.event.head_commit.message, '[skip ci]')
|
|
runs-on: ubuntu-24.04
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ gitea.event_name == 'workflow_dispatch' && inputs.branch || gitea.ref_name }}
|
|
submodules: recursive
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
sudo dpkg --add-architecture i386
|
|
wget https://apt.llvm.org/llvm.sh
|
|
chmod +x llvm.sh
|
|
sudo ./llvm.sh 21
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -y wine
|
|
sudo apt-get install -y --no-install-recommends \
|
|
cmake ninja-build rsync zip util-linux \
|
|
clang-21 lld-21 llvm-21 clang-tools-21 jq
|
|
|
|
- name: Install xwin (Binary)
|
|
run: |
|
|
curl -L https://github.com/Jake-Shadle/xwin/releases/download/0.8.0/xwin-0.8.0-x86_64-unknown-linux-musl.tar.gz | tar xz
|
|
sudo mv xwin-*/xwin /usr/bin/
|
|
xwin --version
|
|
|
|
- name: Create Tool Symlinks
|
|
run: |
|
|
sudo ln -sf /usr/bin/clang-cl-21 /usr/bin/clang-cl
|
|
sudo ln -sf /usr/bin/llvm-ml-21 /usr/bin/llvm-ml
|
|
sudo ln -sf /usr/bin/lld-link-21 /usr/bin/lld-link
|
|
sudo ln -sf /usr/bin/clang-21 /usr/bin/clang
|
|
sudo ln -sf /usr/bin/llvm-rc-21 /usr/bin/llvm-rc
|
|
sudo ln -sf /usr/bin/llvm-lib-21 /usr/bin/llvm-lib
|
|
sudo ln -sf /usr/bin/llvm-mt-21 /usr/bin/llvm-mt
|
|
clang-cl --version
|
|
|
|
- name: Setup .NET
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: '10.0.x'
|
|
|
|
- name: Build
|
|
run: |
|
|
export CMAKE_BUILD_PARALLEL_LEVEL=2
|
|
export INSTALL_PREFIX=$PWD/result
|
|
taskset -c 2-3 ./build-linux.sh . Debug |