mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-14 09:18:09 +00:00
add Ubuntu build and torture steps to GH actions
This commit is contained in:
committed by
Ryan Fleury
parent
7b2743a4d6
commit
b4cfc61408
+156
-83
@@ -1,83 +1,156 @@
|
||||
name: builds
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
|
||||
jobs:
|
||||
build-windows-2022:
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target:
|
||||
- raddbg
|
||||
- radlink
|
||||
- radbin
|
||||
- mule_main
|
||||
compiler:
|
||||
- msvc
|
||||
- clang
|
||||
mode:
|
||||
- debug
|
||||
- release
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v6
|
||||
- name: build (vs 2022)
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||
call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" "${{ matrix.mode }}" || exit /b 1
|
||||
|
||||
run-torture:
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler:
|
||||
- msvc
|
||||
- clang
|
||||
mode:
|
||||
- debug
|
||||
- release
|
||||
exclude:
|
||||
- { compiler: clang, mode: release } # clang runs OOM in release with ASAN
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v6
|
||||
- name: run-torture
|
||||
shell: cmd
|
||||
run: |
|
||||
rem find path to clang
|
||||
for /f "tokens=*" %%i in ('where clang') do set clang_path=%%~dpi
|
||||
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||
|
||||
rem set clang path before MSVC's clang path
|
||||
set PATH=%clang_path%;%PATH%
|
||||
|
||||
rem parse out clang version number out of --version to build path to the folder with ASAN DLL
|
||||
for /f "tokens=3 delims=. " %%v in ('clang -v 2^>^&1 ^| findstr version') do set clang_version=%%v
|
||||
if "${{matrix.compiler}}" == "clang" set PATH=%clang_path%..\lib\clang\%clang_version%\lib\windows;%PATH%
|
||||
|
||||
call build meta raddbg_non_graphical || exit /b 1
|
||||
call build asan meta torture radlink radbin mule_main mule_module "${{matrix.mode}}" "${{matrix.compiler}}" || exit /b 1
|
||||
cd build
|
||||
torture --gen_crash_dump || exit /b 1
|
||||
- name: upload torture crash dumps
|
||||
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
|
||||
if-no-files-found: ignore
|
||||
|
||||
name: builds
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- '**.md'
|
||||
|
||||
jobs:
|
||||
build-ubuntu-24-04:
|
||||
runs-on: ubuntu-24.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target:
|
||||
- raddbg
|
||||
- raddbg_non_graphical
|
||||
- radlink
|
||||
- radbin
|
||||
- torture
|
||||
compiler:
|
||||
- clang-22
|
||||
# TODO: - gcc
|
||||
mode:
|
||||
- debug
|
||||
- release
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v6
|
||||
- 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 libgl1-mesa-dev libegl1-mesa-dev
|
||||
sudo ln -s /usr/bin/llvm-symbolizer-22 /usr/bin/llvm-symbolizer
|
||||
- name: build
|
||||
shell: bash
|
||||
run: |
|
||||
CC="${{ matrix.compiler }}" ./build.sh "${{ matrix.target }}" "${{ matrix.mode }}"
|
||||
|
||||
build-windows-2022:
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target:
|
||||
- raddbg
|
||||
- radlink
|
||||
- radbin
|
||||
- mule_main
|
||||
compiler:
|
||||
- msvc
|
||||
- clang
|
||||
mode:
|
||||
- debug
|
||||
- release
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v6
|
||||
- name: build (vs 2022)
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||
call build meta "${{ matrix.target }}" "${{ matrix.compiler }}" "${{ matrix.mode }}" || exit /b 1
|
||||
|
||||
run-torture-ubuntu-24-04:
|
||||
runs-on: ubuntu-24.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler:
|
||||
- clang-22
|
||||
# TODO: - gcc
|
||||
mode:
|
||||
- debug
|
||||
# TODO: - release
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v6
|
||||
- name: install external libraries
|
||||
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 libgl1-mesa-dev libegl1-mesa-dev
|
||||
sudo ln -s /usr/bin/llvm-symbolizer-22 /usr/bin/llvm-symbolizer
|
||||
- name: run-torture
|
||||
shell: bash
|
||||
run: |
|
||||
CC="${{ matrix.compiler }}" ./build.sh meta raddbg raddbg_non_graphical radbin radlink torture "${{ matrix.mode }}"
|
||||
cd build
|
||||
./torture --gen_crash_dump
|
||||
- name: upload torture 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-torture-windows-2022:
|
||||
runs-on: windows-2022
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
compiler:
|
||||
- msvc
|
||||
- clang
|
||||
mode:
|
||||
- debug
|
||||
- release
|
||||
exclude:
|
||||
- { compiler: clang, mode: release } # clang runs OOM in release with ASAN
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v6
|
||||
- name: run-torture
|
||||
shell: cmd
|
||||
run: |
|
||||
rem find path to clang
|
||||
for /f "tokens=*" %%i in ('where clang') do set clang_path=%%~dpi
|
||||
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||
|
||||
rem set clang path before MSVC's clang path
|
||||
set PATH=%clang_path%;%PATH%
|
||||
|
||||
rem parse out clang version number out of --version to build path to the folder with ASAN DLL
|
||||
for /f "tokens=3 delims=. " %%v in ('clang -v 2^>^&1 ^| findstr version') do set clang_version=%%v
|
||||
if "${{matrix.compiler}}" == "clang" set PATH=%clang_path%..\lib\clang\%clang_version%\lib\windows;%PATH%
|
||||
|
||||
call build meta raddbg_non_graphical || exit /b 1
|
||||
call build asan meta torture radlink radbin mule_main mule_module "${{matrix.mode}}" "${{matrix.compiler}}" || exit /b 1
|
||||
cd build
|
||||
torture --gen_crash_dump || exit /b 1
|
||||
- name: upload torture crash dumps
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user