Torque3D/.github/workflows/build-linux-gcc.yml
marauder2k7 392df11e2b VCPKG Full refactor
uses local cache for assets now so should be able to produce an offline build with vcpkg. Only a couple of libraries left that are too big, and the vcpkg repo itself has files that are blocked from the repo. We could get around both issues by utilizing a submodule
2026-06-19 18:06:19 +01:00

112 lines
No EOL
3.7 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 install ninja-build
ninja --version
cmake --version
gcc --version
sudo apt-get update && \
sudo apt-get install -y \
build-essential \
nasm \
git \
curl \
zip \
unzip \
pkg-config \
autoconf \
autoconf-archive \
automake \
make \
libtool \
libltdl-dev \
libx11-dev \
libxft-dev \
libxext-dev \
libwayland-dev \
libxkbcommon-dev \
libegl1-mesa-dev \
libibus-1.0-dev \
libgtk-3-dev
sudo apt-get install -y \
python3
pip install 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}}
- 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'