mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-11-14 10:10:11 -08:00
219 lines
6.8 KiB
YAML
219 lines
6.8 KiB
YAML
name: builds
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- '**.md'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
env:
|
|
TORTURE_FLAGS: "--gen_crash_dump"
|
|
|
|
jobs:
|
|
build-ubuntu-24:
|
|
runs-on: ubuntu-24.04
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target:
|
|
- raddbg
|
|
- raddbg_non_graphical
|
|
- radlink
|
|
- radbin
|
|
- torture
|
|
compiler:
|
|
- clang-17
|
|
- clang-22
|
|
- gcc
|
|
|
|
name: ${{ matrix.target }}-${{ matrix.compiler }}-ubuntu24
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
lfs: true
|
|
|
|
- name: Install Common Dependencies
|
|
shell: bash
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install --no-install-recommends -y pkg-config libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libgl1-mesa-dev libegl1-mesa-dev
|
|
|
|
- name: Install clang-17 Dependencies
|
|
if: ${{ matrix.compiler == 'clang-17' }}
|
|
shell: bash
|
|
run: |
|
|
sudo apt-get install --no-install-recommends -y clang-17 lld-17 llvm-17
|
|
sudo ln -sf /usr/bin/llvm-symbolizer-17 /usr/bin/llvm-symbolizer
|
|
echo CC="${{ matrix.compiler }}" >> "${GITHUB_ENV}"
|
|
echo AR=llvm-ar-17 >> "${GITHUB_ENV}"
|
|
|
|
- name: Install ${{ matrix.compiler }} Dependencies
|
|
if: ${{ matrix.compiler == 'clang-22' }}
|
|
shell: bash
|
|
run: |
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
sudo apt-add-repository -y "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-22 main"
|
|
sudo apt-get update
|
|
sudo apt-get install -y clang-22 lld-22 llvm-22
|
|
sudo ln -sf /usr/bin/llvm-symbolizer-22 /usr/bin/llvm-symbolizer
|
|
echo CC="${{ matrix.compiler }}" >> "${GITHUB_ENV}"
|
|
echo AR=llvm-ar-22 >> "${GITHUB_ENV}"
|
|
|
|
- name: Build (debug)
|
|
shell: bash
|
|
run: |
|
|
export CC_BUILD="${{ matrix.compiler }}"
|
|
./build.sh "${{ matrix.target }}" debug ${CC_BUILD%%-*}
|
|
|
|
- name: Build (release)
|
|
shell: bash
|
|
run: |
|
|
export CC_BUILD="${{ matrix.compiler }}"
|
|
./build.sh "${{ matrix.target }}" release ${CC_BUILD%%-*}
|
|
|
|
build-windows-vs2022:
|
|
runs-on: windows-2022
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target:
|
|
- raddbg
|
|
- radlink
|
|
- radbin
|
|
- mule_main
|
|
compiler:
|
|
- msvc
|
|
- clang
|
|
|
|
name: ${{ matrix.target }}-${{ matrix.compiler }}-vs2022
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
lfs: true
|
|
- name: Build (debug)
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1
|
|
call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" debug || exit /b 1
|
|
- name: Build (debug)
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1
|
|
call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" release || exit /b 1
|
|
|
|
build-windows-vs2026:
|
|
runs-on: windows-2025
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target:
|
|
- raddbg
|
|
- radlink
|
|
- radbin
|
|
- mule_main
|
|
compiler:
|
|
- msvc
|
|
- clang
|
|
|
|
name: ${{ matrix.target }}-${{ matrix.compiler }}-vs2026
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
lfs: true
|
|
- name: Build (debug)
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1
|
|
call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" debug || exit /b 1
|
|
- name: Build (release)
|
|
shell: cmd
|
|
run: |
|
|
call "C:\Program Files\Microsoft Visual Studio\18\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 || exit /b 1
|
|
call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" release || exit /b 1
|
|
|
|
run-ubuntu-24-04:
|
|
runs-on: ubuntu-24.04
|
|
if: false
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler:
|
|
- clang-22
|
|
# TODO: - gcc
|
|
mode:
|
|
- debug
|
|
# TODO: - release
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
lfs: true
|
|
- name: Install Dependencies
|
|
shell: bash
|
|
run: |
|
|
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
|
|
sudo apt-add-repository -y "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-22 main"
|
|
sudo apt-get update
|
|
sudo apt-get install -y clang-22 lld-22 llvm-22 gcc-14 pkg-config libfreetype6-dev libx11-dev libxext-dev libxfixes-dev libgl1-mesa-dev libegl1-mesa-dev
|
|
# crash callstack symbolizer depends on LLVM
|
|
sudo ln -s /usr/bin/llvm-symbolizer-22 /usr/bin/llvm-symbolizer
|
|
- name: Run
|
|
shell: bash
|
|
run: |
|
|
[[ "${{ matrix.compiler }}" == "clang-22" ]] && export AR=llvm-ar-22
|
|
CC="${{ matrix.compiler }}" ./run_tests.sh clang "${{ matrix.mode }}" -- \* $TORTURE_FLAGS
|
|
- name: Upload Artifacts
|
|
if: failure()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: torture-crash-dumps-${{ matrix.compiler }}-${{ matrix.mode }}
|
|
path: |
|
|
build/*.core
|
|
build/*.exe
|
|
build/*.pdb
|
|
build/torture_artifacts/**
|
|
if-no-files-found: ignore
|
|
|
|
run-windows-2022:
|
|
runs-on: windows-2022
|
|
if: false
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
compiler:
|
|
- msvc
|
|
- clang
|
|
mode:
|
|
- debug
|
|
- release
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
with:
|
|
lfs: true
|
|
- name: Run
|
|
shell: cmd
|
|
run: |
|
|
for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do set "VS_INSTALL=%%i"
|
|
call "%VS_INSTALL%\VC\Auxiliary\Build\vcvarsall.bat" x64
|
|
call run_tests.bat ${{ matrix.compiler }} ${{ matrix.mode }} -- * %TORTURE_FLAGS% || exit /b 1
|
|
- name: Upload Artifacts
|
|
if: failure()
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: torture-crash-dumps-${{ matrix.compiler }}-${{ matrix.mode }}
|
|
path: |
|
|
build/*.dmp
|
|
build/*.exe
|
|
build/*.pdb
|
|
build/torture_artifacts/**
|
|
if-no-files-found: ignore
|