1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- name: ☁ Server Builds
- on:
- workflow_call:
- # Global Settings
- env:
- # Only used for the cache key. Increment version to force clean build.
- GODOT_BASE_BRANCH: 3.x
- SCONSFLAGS: verbose=yes warnings=all werror=yes debug_symbols=no module_mono_enabled=yes mono_static=yes mono_glue=no
- concurrency:
- group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-server
- cancel-in-progress: true
- jobs:
- build-server:
- # Stay one LTS before latest to increase portability of Linux artifacts.
- runs-on: "ubuntu-22.04"
- name: ${{ matrix.name }}
- strategy:
- fail-fast: false
- matrix:
- include:
- - name: Linux Headless w/ Mono (target=release_debug, tools=yes)
- cache-name: server-editor-mono
- target: release_debug
- tools: true
- - name: Linux Server w/ Mono (target=release, tools=no)
- cache-name: server-template-mono
- target: release
- tools: false
- steps:
- - uses: actions/checkout@v4
- - name: Linux dependencies
- shell: bash
- run: |
- # Azure repositories are flaky, remove them.
- sudo rm -f /etc/apt/sources.list.d/{azure,microsoft}*
- sudo apt-get update
- # The actual dependencies.
- sudo apt-get install --no-install-recommends build-essential pkg-config libx11-dev \
- libxcursor-dev libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev \
- libpulse-dev libdbus-1-dev libudev-dev libxi-dev libxrandr-dev yasm xvfb wget unzip \
- libspeechd-dev speech-dispatcher
- - name: Restore Godot build cache
- uses: ./.github/actions/godot-cache-restore
- with:
- cache-name: ${{ matrix.cache-name }}
- continue-on-error: true
- - name: Setup python and scons
- uses: ./.github/actions/godot-deps
- - name: Compilation
- uses: ./.github/actions/godot-build
- with:
- sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
- platform: server
- target: ${{ matrix.target }}
- tools: ${{ matrix.tools }}
- - name: Save Godot build cache
- uses: ./.github/actions/godot-cache-save
- with:
- cache-name: ${{ matrix.cache-name }}
- continue-on-error: true
|