Explorar o código

Create build-linux-gcc.yml

marauder2k7 %!s(int64=2) %!d(string=hai) anos
pai
achega
3e5b4b5e05
Modificáronse 1 ficheiros con 86 adicións e 0 borrados
  1. 86 0
      .github/workflows/build-linux-gcc.yml

+ 86 - 0
.github/workflows/build-linux-gcc.yml

@@ -0,0 +1,86 @@
+name: Linux Build 🐧
+on:
+    push:
+        branches: [development]
+    pull_request:
+        branches: [development]
+env:
+    build_type: "Release"
+    cc: "gcc"
+    cxx: "g++"
+
+concurrency:
+    group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-linux
+    cancel-in-progress: true
+jobs:
+    build-linux:
+        if: github.repository == 'TorqueGameEngines/Torque3D'
+        name: ${{matrix.config.name}}
+        runs-on: ubuntu-latest
+        strategy:
+            fail-fast: false
+            matrix:
+              config: 
+              - {
+                  name: "Ubuntu Latest GCC",
+                  build_type: "Release",
+                  cc: "gcc",
+                  cxx: "g++",
+                  generator: "Ninja"
+                }
+
+        steps:
+            - uses: actions/checkout@v3
+            - name: Print env
+              run: |
+                echo github.event.action: ${{ github.event.action }}
+                echo github.event_name: ${{ github.event_name }}
+
+            - name: Setup GCC problem matcher
+              uses: ammaraskar/gcc-problem-matcher@master
+
+            - name: Install Linux Dependencies
+              run: |
+                ninja --version
+                cmake --version
+                gcc --version
+                sudo apt-get update && \
+                sudo apt-get install -y \
+                    build-essential \
+                    nasm \
+                    libogg-dev \
+                    libxft-dev \
+                    libx11-dev \
+                    libxxf86vm-dev \
+                    libopenal-dev \
+                    libfreetype6-dev \
+                    libxcursor-dev \
+                    libxinerama-dev \
+                    libxi-dev \
+                    libxrandr-dev \
+                    libxss-dev \
+                    libglu1-mesa-dev \
+                    libgtk-3-dev
+                
+
+            - name: Configure, Build & Install
+              uses: threeal/[email protected]
+              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: Upload Artifact
+              uses: ./.github/actions/upload-artifact
+              with:
+                name: torque3dLinuxGCCUnitTest