Skip to content

Linux Build

Linux Build #48

Workflow file for this run

name: Linux Build
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the master branch
push:
branches: [ master, gen3 ]
pull_request:
branches: [ master, gen3 ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v3
with:
submodules: true
- name: Install Libs
run: sudo apt install mesa-common-dev libxcursor-dev libxrandr-dev libxi-dev libx11-dev libxinerama-dev
- name: Test glxinfo
run: |
sudo apt-get update
sudo apt-get install -y mesa-utils xvfb
xvfb-run glxinfo
- name: Generate Solution fot Debug
run: cmake -S ./ -B ./build -DCMAKE_BUILD_TYPE=Debug
- name: Build Debug
working-directory: ${{env.GITHUB_WORKSPACE}}
run: cmake --build ./build
- name: Upload Debug Artifact
uses: actions/upload-artifact@v2
with:
name: TerraForge3D Linux Debug Build
path: build/terraforge3d
- name: Clean Workspace
run: rm -rfv build
- name: Generate Solution fot Release
run: cmake -S ./ -B ./build -DCMAKE_BUILD_TYPE=Release
- name: Build Release
working-directory: ${{env.GITHUB_WORKSPACE}}
run: cmake --build ./build --config Release
- name: Upload Release Artifact
uses: actions/upload-artifact@v2
with:
name: TerraForge3D Linux Release Build
path: build/terraforge3d