mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-01 17:54:34 +00:00
Removed intel runner from mac, it never run Removed arm from windows as it will always fail as git ci runners are not arm removed gcc12 kept gcc13 Added convenience function for checking if a package is active
114 lines
No EOL
3.9 KiB
YAML
114 lines
No EOL
3.9 KiB
YAML
name: Linux Build
|
|
on:
|
|
push:
|
|
branches: [development]
|
|
pull_request:
|
|
branches: [development]
|
|
|
|
concurrency:
|
|
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-linux
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
checks: write
|
|
|
|
jobs:
|
|
build-linux:
|
|
if: github.repository == 'TorqueGameEngines/Torque3D'
|
|
name: ${{matrix.config.name}}
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
config:
|
|
- {
|
|
name: "Ubuntu GCC 13",
|
|
build_type: "Release",
|
|
cc: "gcc-13",
|
|
cxx: "g++-13",
|
|
generator: "Ninja",
|
|
}
|
|
- {
|
|
name: "Ubuntu GCC Latest",
|
|
build_type: "Release",
|
|
cc: "gcc",
|
|
cxx: "g++",
|
|
generator: "Ninja",
|
|
}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Print env
|
|
run: |
|
|
echo github.event.action: ${{ github.event.action }}
|
|
echo github.event_name: ${{ github.event_name }}
|
|
|
|
- name: Run GIT Init
|
|
run: git init
|
|
|
|
- name: Setup GCC problem matcher
|
|
uses: ammaraskar/gcc-problem-matcher@master
|
|
|
|
- name: Install Linux Dependencies
|
|
run: |
|
|
sudo apt-get update && \
|
|
sudo apt-get install -y \
|
|
ninja-build \
|
|
build-essential \
|
|
nasm \
|
|
python3 \
|
|
python3-pip \
|
|
gcc-12 g++-12 \
|
|
gcc-13 g++-13 \
|
|
clang \
|
|
libogg-dev \
|
|
libxft-dev \
|
|
libx11-dev \
|
|
libxxf86vm-dev \
|
|
libopenal-dev \
|
|
libasound2-dev \
|
|
libpipewire-0.3-dev \
|
|
portaudio19-dev \
|
|
oss4-dev \
|
|
libjack-dev \
|
|
libpulse-dev \
|
|
libdbus-1-dev \
|
|
libfreetype6-dev \
|
|
libxcursor-dev \
|
|
libxinerama-dev \
|
|
libxi-dev \
|
|
libxrandr-dev \
|
|
libxss-dev \
|
|
libglu1-mesa-dev \
|
|
libgtk-3-dev
|
|
ninja --version
|
|
cmake --version
|
|
${{matrix.config.cc}} --version
|
|
python3 -m pip install --break-system-packages jinja2
|
|
|
|
- name: Configure, Build & Install
|
|
uses: threeal/cmake-action@v1.3.0
|
|
with:
|
|
source-dir: ${{github.workspace}}
|
|
build-dir: ${{github.workspace}}/build
|
|
c-compiler: ${{matrix.config.cc}}
|
|
cxx-compiler: ${{matrix.config.cxx}}
|
|
generator: ${{matrix.config.generator}}
|
|
options: CMAKE_BUILD_TYPE=${{matrix.config.build_type}} TORQUE_APP_NAME=Torque3D TORQUE_TESTING=ON
|
|
run-build: true
|
|
build-args: --config ${{matrix.config.build_type}} --target install
|
|
|
|
- name: Unit Tests
|
|
run: |
|
|
cd "${{github.workspace}}/My Projects/Torque3D/game"
|
|
./Torque3D runTests.tscript
|
|
|
|
- name: Test Reporter
|
|
uses: phoenix-actions/test-reporting@v14
|
|
with:
|
|
name: ${{matrix.config.name}} test results
|
|
path: "**/My Projects/Torque3D/game/test_detail.xml"
|
|
reporter: java-junit
|
|
fail-on-error: true
|
|
if: github.event_name != 'pull_request' |