CI: Backport GitHub Actions from 3.x branch
Ensures that we have a configuration that is currently usable. Some changes for the `3.2` branch as it's unmaintained: - No cache - No artifacts upload - Uses clang-format 10 - No JavaScript linting
This commit is contained in:
parent
31d0f8ad8d
commit
67b2f3ed25
|
@ -2,48 +2,173 @@
|
|||
# Each line is a file pattern followed by one or more owners.
|
||||
# Owners can be @users, @org/teams or emails
|
||||
|
||||
/doc/ @godotengine/documentation
|
||||
doc_classes/* @godotengine/documentation
|
||||
# Buildsystem
|
||||
|
||||
# Rendering
|
||||
/drivers/gl_context/ @reduz
|
||||
/drivers/gles2/ @reduz
|
||||
/drivers/gles3/ @reduz
|
||||
.* @godotengine/buildsystem
|
||||
.github/ @godotengine/buildsystem
|
||||
*.py @godotengine/buildsystem
|
||||
SConstruct @godotengine/buildsystem
|
||||
SCsub @godotengine/buildsystem
|
||||
|
||||
# Audio
|
||||
/drivers/alsa/ @marcelofg55
|
||||
/drivers/alsamidi/ @marcelofg55
|
||||
/drivers/coreaudio/ @marcelofg55
|
||||
/drivers/coremidi/ @marcelofg55
|
||||
/drivers/pulseaudio/ @marcelofg55
|
||||
/drivers/wasapi/ @marcelofg55
|
||||
/drivers/winmidi/ @marcelofg55
|
||||
/drivers/xaudio2/ @marcelofg55
|
||||
# Core
|
||||
|
||||
/drivers/unix/ @hpvb
|
||||
/drivers/windows/ @hpvb
|
||||
/core/ @godotengine/core
|
||||
/core/crypto/ @godotengine/network
|
||||
/core/input*.* @godotengine/input
|
||||
|
||||
/editor/icons/ @djrm
|
||||
# Doc
|
||||
|
||||
/misc/ @akien-mga
|
||||
/doc/ @godotengine/documentation
|
||||
doc_classes/* @godotengine/documentation
|
||||
|
||||
/modules/bullet/ @AndreaCatania
|
||||
/modules/csg/ @BastiaanOlij
|
||||
/modules/enet/ @godotengine/network
|
||||
/modules/gdnative/*arvr/ @BastiaanOlij
|
||||
/modules/gdscript/ @vnen @bojidar-bg
|
||||
/modules/mbedtls/ @godotengine/network
|
||||
/modules/mobile_vr/ @BastiaanOlij
|
||||
/modules/mono/ @neikeq
|
||||
/modules/opensimplex/ @JFonS
|
||||
/modules/regex/ @LeeZH
|
||||
/modules/upnp/ @godotengine/network
|
||||
/modules/websocket/ @godotengine/network
|
||||
# Drivers
|
||||
|
||||
/platform/javascript/ @eska014
|
||||
/platform/uwp/ @vnen
|
||||
## Audio
|
||||
/drivers/alsa/ @godotengine/audio
|
||||
/drivers/alsamidi/ @godotengine/audio
|
||||
/drivers/coreaudio/ @godotengine/audio
|
||||
/drivers/coremidi/ @godotengine/audio
|
||||
/drivers/pulseaudio/ @godotengine/audio
|
||||
/drivers/wasapi/ @godotengine/audio
|
||||
/drivers/winmidi/ @godotengine/audio
|
||||
/drivers/xaudio2/ @godotengine/audio
|
||||
|
||||
/server/physics*/ @reduz @AndreaCatania
|
||||
/server/visual*/ @reduz
|
||||
## Rendering
|
||||
/drivers/dummy/ @godotengine/rendering
|
||||
/drivers/gl_context/ @godotengine/rendering
|
||||
/drivers/gles2/ @godotengine/rendering
|
||||
/drivers/gles3/ @godotengine/rendering
|
||||
/drivers/gles_common/ @godotengine/rendering
|
||||
|
||||
/thirdparty/ @akien-mga
|
||||
## OS
|
||||
/drivers/unix/ @godotengine/_platforms
|
||||
/drivers/windows/ @godotengine/windows
|
||||
|
||||
## Misc
|
||||
/drivers/png/ @godotengine/import
|
||||
|
||||
# Editor
|
||||
|
||||
/editor/*debugger* @godotengine/debugger
|
||||
/editor/icons/ @godotengine/usability
|
||||
/editor/import/ @godotengine/import
|
||||
/editor/plugins/*2d_*.* @godotengine/2d-editor
|
||||
/editor/plugins/script_*.* @godotengine/script-editor
|
||||
/editor/plugins/*shader*.* @godotengine/shaders
|
||||
/editor/code_editor.* @godotengine/script-editor
|
||||
/editor/*dock*.* @godotengine/docks
|
||||
|
||||
# Main
|
||||
|
||||
/main/ @godotengine/core
|
||||
/main/tests/ @godotengine/tests
|
||||
|
||||
# Misc
|
||||
|
||||
/misc/ @godotengine/buildsystem
|
||||
|
||||
# Modules
|
||||
|
||||
## Audio (+ video)
|
||||
/modules/minimp3/ @godotengine/audio
|
||||
/modules/ogg/ @godotengine/audio
|
||||
/modules/opus/ @godotengine/audio
|
||||
/modules/stb_vorbis/ @godotengine/audio
|
||||
/modules/theora/ @godotengine/audio
|
||||
/modules/vorbis/ @godotengine/audio
|
||||
/modules/webm/ @godotengine/audio
|
||||
|
||||
## Import
|
||||
/modules/basis_universal/ @godotengine/import
|
||||
/modules/bmp/ @godotengine/import
|
||||
/modules/cvtt/ @godotengine/import
|
||||
/modules/dds/ @godotengine/import
|
||||
/modules/etc/ @godotengine/import
|
||||
/modules/fbx/ @godotengine/import
|
||||
/modules/gltf/ @godotengine/import
|
||||
/modules/hdr/ @godotengine/import
|
||||
/modules/jpg/ @godotengine/import
|
||||
/modules/pvr/ @godotengine/import
|
||||
/modules/squish/ @godotengine/import
|
||||
/modules/svg/ @godotengine/import
|
||||
/modules/tga/ @godotengine/import
|
||||
/modules/tinyexr/ @godotengine/import
|
||||
/modules/webp/ @godotengine/import
|
||||
|
||||
## Network
|
||||
/modules/enet/ @godotengine/network
|
||||
/modules/mbedtls/ @godotengine/network
|
||||
/modules/upnp/ @godotengine/network
|
||||
/modules/webrtc/ @godotengine/network
|
||||
/modules/websocket/ @godotengine/network
|
||||
|
||||
## Rendering
|
||||
/modules/denoise/ @godotengine/rendering
|
||||
/modules/glslang/ @godotengine/rendering
|
||||
/modules/lightmapper_cpu/ @godotengine/rendering
|
||||
/modules/meshoptimizer/ @godotengine/rendering
|
||||
/modules/raycast/ @godotengine/rendering
|
||||
/modules/vhacd/ @godotengine/rendering
|
||||
/modules/xatlas_unwrap/ @godotengine/rendering
|
||||
|
||||
## Scripting
|
||||
/modules/gdnative/ @godotengine/gdnative
|
||||
/modules/gdscript/ @godotengine/gdscript
|
||||
/modules/jsonrpc/ @godotengine/gdscript
|
||||
/modules/mono/ @godotengine/mono
|
||||
/modules/visual_script/ @godotengine/visualscript
|
||||
|
||||
## Text
|
||||
/modules/freetype/ @godotengine/buildsystem
|
||||
/modules/gdnative/text/ @godotengine/gui-nodes
|
||||
/modules/text_server_adv/ @godotengine/gui-nodes
|
||||
/modules/text_server_fb/ @godotengine/gui-nodes
|
||||
|
||||
## XR
|
||||
/modules/camera/ @godotengine/xr
|
||||
/modules/gdnative/arvr/ @godotengine/xr
|
||||
/modules/mobile_vr/ @godotengine/xr
|
||||
/modules/webxr/ @godotengine/xr
|
||||
|
||||
## Misc
|
||||
/modules/bullet/ @godotengine/physics
|
||||
/modules/csg/ @godotengine/3d-nodes
|
||||
/modules/gridmap/ @godotengine/3d-nodes
|
||||
/modules/opensimplex/ @godotengine/3d-nodes
|
||||
/modules/recast/ @godotengine/navigation
|
||||
/modules/regex/ @godotengine/core
|
||||
|
||||
# Platform
|
||||
|
||||
/platform/android/ @godotengine/android
|
||||
/platform/iphone/ @godotengine/ios
|
||||
/platform/javascript/ @godotengine/html5
|
||||
/platform/x11/ @godotengine/linux-bsd
|
||||
/platform/osx/ @godotengine/macos
|
||||
/platform/uwp/ @godotengine/uwp
|
||||
/platform/windows/ @godotengine/windows
|
||||
|
||||
# Scene
|
||||
|
||||
/scene/2d/ @godotengine/2d-nodes
|
||||
/scene/3d/ @godotengine/3d-nodes
|
||||
/scene/animation/ @godotengine/animation
|
||||
/scene/audio/ @godotengine/audio
|
||||
/scene/debugger/ @godotengine/debugger
|
||||
/scene/gui/ @godotengine/gui-nodes
|
||||
/scene/main/ @godotengine/core
|
||||
/scene/resources/default_theme/ @godotengine/gui-nodes
|
||||
/scene/resources/font.* @godotengine/gui-nodes
|
||||
/scene/resources/visual_shader*.* @godotengine/shaders
|
||||
|
||||
# Servers
|
||||
|
||||
/servers/arvr* @godotengine/xr
|
||||
/servers/audio* @godotengine/audio
|
||||
/servers/camera* @godotengine/xr
|
||||
/servers/physics* @godotengine/physics
|
||||
/servers/visual* @godotengine/rendering
|
||||
|
||||
# Thirdparty
|
||||
|
||||
/thirdparty/ @godotengine/buildsystem
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
name: 🤖 Android Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Cache Settings
|
||||
# Global Settings
|
||||
env:
|
||||
GODOT_BASE_BRANCH: 3.2
|
||||
SCONS_CACHE_LIMIT: 4096
|
||||
SCONSFLAGS: platform=android verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||
ANDROID_NDK_VERSION: 21.1.6352462
|
||||
|
||||
jobs:
|
||||
android-template:
|
||||
|
@ -18,35 +18,18 @@ jobs:
|
|||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/*
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
# Install all packages (except scons)
|
||||
- name: Configure dependencies
|
||||
run: |
|
||||
sudo apt-get install openjdk-8-jdk
|
||||
echo "::set-env name=JAVA_HOME::usr/lib/jvm/java-8-openjdk-amd64"
|
||||
|
||||
- name: Install Android SDK and NDK
|
||||
run: |
|
||||
echo "::set-env name=PATH::/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:${PATH}"
|
||||
java -version
|
||||
echo "::set-env name=ANDROID_HOME::$(pwd)/godot-dev/build-tools/android-sdk"
|
||||
echo "::set-env name=ANDROID_NDK_ROOT::$(pwd)/godot-dev/build-tools/android-ndk"
|
||||
misc/ci/android-tools-linux.sh
|
||||
source ~/.bashrc
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: android-template-cache
|
||||
uses: actions/cache@v2
|
||||
- name: Set up Java 8
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
java-version: 8
|
||||
|
||||
- name: Install Android NDK r21
|
||||
run: |
|
||||
sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install 'ndk;${{env.ANDROID_NDK_VERSION}}'
|
||||
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
|
@ -57,7 +40,6 @@ jobs:
|
|||
# Optional - x64 or x86 architecture, defaults to x64
|
||||
architecture: 'x64'
|
||||
|
||||
# You can test your matrix by printing the current Python version
|
||||
- name: Configuring Python packages
|
||||
run: |
|
||||
python -c "import sys; print(sys.version)"
|
||||
|
@ -67,6 +49,11 @@ jobs:
|
|||
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/${{env.ANDROID_NDK_VERSION}}/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=android target=release tools=no
|
||||
scons target=release tools=no android_arch=armv7
|
||||
scons target=release tools=no android_arch=arm64v8
|
||||
cd platform/android/java
|
||||
./gradlew generateGodotTemplates
|
||||
cd ../../..
|
||||
ls -l bin/
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
name: 🍏 iOS Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Cache Settings
|
||||
# Global Settings
|
||||
env:
|
||||
GODOT_BASE_BRANCH: 3.2
|
||||
SCONS_CACHE_LIMIT: 4096
|
||||
SCONSFLAGS: platform=iphone verbose=yes warnings=all werror=no debug_symbols=no --jobs=2
|
||||
|
||||
jobs:
|
||||
ios-template:
|
||||
|
@ -14,18 +13,6 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: ios-template-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -44,7 +31,6 @@ jobs:
|
|||
scons --version
|
||||
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=no platform=iphone target=release tools=no
|
||||
scons target=release tools=no
|
||||
ls -l bin/
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
name: 🌐 JavaScript Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Cache Settings
|
||||
# Global Settings
|
||||
env:
|
||||
GODOT_BASE_BRANCH: 3.2
|
||||
SCONS_CACHE_LIMIT: 4096
|
||||
SCONSFLAGS: platform=javascript verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||
EM_VERSION: 1.39.20
|
||||
EM_CACHE_FOLDER: 'emsdk-cache'
|
||||
|
||||
|
@ -19,21 +18,10 @@ jobs:
|
|||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/*
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: javascript-template-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Additional cache for Emscripten generated system libraries
|
||||
- name: Load Emscripten cache
|
||||
id: javascript-template-emscripten-cache
|
||||
|
@ -60,7 +48,7 @@ jobs:
|
|||
scons --version
|
||||
|
||||
- name: Set up Emscripten latest
|
||||
uses: mymindstorm/setup-emsdk@v6
|
||||
uses: mymindstorm/setup-emsdk@v7
|
||||
with:
|
||||
version: ${{env.EM_VERSION}}
|
||||
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
||||
|
@ -70,7 +58,6 @@ jobs:
|
|||
emcc -v
|
||||
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=javascript target=release tools=no use_closure_compiler=yes
|
||||
scons target=release tools=no use_closure_compiler=yes
|
||||
ls -l bin/
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
name: 🐧 Linux Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Cache Settings
|
||||
# Global Settings
|
||||
env:
|
||||
GODOT_BASE_BRANCH: 3.2
|
||||
SCONS_CACHE_LIMIT: 4096
|
||||
SCONSFLAGS: platform=linuxbsd verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||
|
||||
jobs:
|
||||
linux-editor:
|
||||
linux-editor-mono:
|
||||
runs-on: "ubuntu-20.04"
|
||||
name: Editor w/ Mono (target=release_debug, tools=yes)
|
||||
|
||||
|
@ -17,27 +16,16 @@ jobs:
|
|||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/*
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
# Install all packages (except scons)
|
||||
- name: Configure dependencies
|
||||
run: |
|
||||
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
|
||||
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev xvfb \
|
||||
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: linux-editor-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -57,12 +45,13 @@ jobs:
|
|||
|
||||
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=x11 tools=yes target=release_debug module_mono_enabled=yes mono_glue=no
|
||||
scons tools=yes target=release_debug module_mono_enabled=yes mono_glue=no
|
||||
xvfb-run ./bin/godot.x11.opt.tools.64.mono --generate-mono-glue modules/mono/glue || true
|
||||
scons tools=yes target=release_debug module_mono_enabled=yes mono_glue=yes
|
||||
ls -l bin/
|
||||
|
||||
linux-template:
|
||||
linux-template-mono:
|
||||
runs-on: "ubuntu-20.04"
|
||||
name: Template w/ Mono (target=release, tools=no)
|
||||
|
||||
|
@ -72,6 +61,7 @@ jobs:
|
|||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/*
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
|
@ -81,18 +71,6 @@ jobs:
|
|||
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
|
||||
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: linux-template-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -111,7 +89,6 @@ jobs:
|
|||
scons --version
|
||||
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=x11 target=release tools=no module_mono_enabled=yes mono_glue=no
|
||||
scons target=release tools=no module_mono_enabled=yes mono_glue=no
|
||||
ls -l bin/
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
name: 🍎 macOS Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Cache Settings
|
||||
# Global Settings
|
||||
env:
|
||||
GODOT_BASE_BRANCH: 3.2
|
||||
SCONS_CACHE_LIMIT: 4096
|
||||
SCONSFLAGS: platform=osx verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||
|
||||
jobs:
|
||||
macos-editor:
|
||||
|
@ -15,18 +14,6 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: macos-editor-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -46,10 +33,9 @@ jobs:
|
|||
|
||||
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=osx tools=yes target=release_debug
|
||||
scons tools=yes target=release_debug
|
||||
ls -l bin/
|
||||
|
||||
macos-template:
|
||||
runs-on: "macos-latest"
|
||||
|
@ -58,18 +44,6 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
- name: Load .scons_cache directory
|
||||
id: macos-template-cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: ${{github.workspace}}/.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -88,7 +62,6 @@ jobs:
|
|||
scons --version
|
||||
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=osx target=release tools=no
|
||||
scons target=release tools=no
|
||||
ls -l bin/
|
||||
|
|
|
@ -0,0 +1,88 @@
|
|||
name: ☁ Server Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Settings
|
||||
env:
|
||||
SCONSFLAGS: platform=server verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||
|
||||
jobs:
|
||||
linux-editor:
|
||||
runs-on: "ubuntu-20.04"
|
||||
name: Linux Headless w/ Mono (target=release_debug, tools=yes)
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
# Install all packages (except scons)
|
||||
- name: Configure dependencies
|
||||
run: |
|
||||
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
|
||||
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
|
||||
|
||||
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
# Semantic version range syntax or exact version of a Python version
|
||||
python-version: '3.x'
|
||||
# Optional - x64 or x86 architecture, defaults to x64
|
||||
architecture: 'x64'
|
||||
|
||||
# Setup scons, print python version and scons version info, so if anything is broken it won't run the build.
|
||||
- name: Configuring Python packages
|
||||
run: |
|
||||
python -c "import sys; print(sys.version)"
|
||||
python -m pip install scons
|
||||
python --version
|
||||
scons --version
|
||||
|
||||
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||
- name: Compilation
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=server tools=yes target=release_debug module_mono_enabled=yes mono_glue=no
|
||||
|
||||
linux-server:
|
||||
runs-on: "ubuntu-20.04"
|
||||
name: Linux Server w/ Mono (target=release, tools=no)
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
# Install all packages (except scons)
|
||||
- name: Configure dependencies
|
||||
run: |
|
||||
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
|
||||
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev libudev-dev libxi-dev libxrandr-dev yasm
|
||||
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
# Semantic version range syntax or exact version of a Python version
|
||||
python-version: '3.x'
|
||||
# Optional - x64 or x86 architecture, defaults to x64
|
||||
architecture: 'x64'
|
||||
|
||||
# You can test your matrix by printing the current Python version
|
||||
- name: Configuring Python packages
|
||||
run: |
|
||||
python -c "import sys; print(sys.version)"
|
||||
python -m pip install scons
|
||||
python --version
|
||||
scons --version
|
||||
|
||||
- name: Compilation
|
||||
run: |
|
||||
scons -j2 target=release tools=no module_mono_enabled=yes mono_glue=no
|
|
@ -9,11 +9,19 @@ jobs:
|
|||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Azure repositories are not reliable, we need to prevent Azure giving us packages.
|
||||
- name: Make apt sources.list use the default Ubuntu repositories
|
||||
run: |
|
||||
sudo rm -f /etc/apt/sources.list.d/*
|
||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||
sudo apt-get update
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -qq dos2unix recode clang-format
|
||||
sudo pip3 install black pygments
|
||||
sudo apt-get install -qq dos2unix recode clang-format-10
|
||||
sudo update-alternatives --remove-all clang-format
|
||||
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-10 100
|
||||
sudo pip3 install black==20.8b1 pygments
|
||||
|
||||
- name: File formatting checks (file_format.sh)
|
||||
run: |
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
name: 🏁 Windows Builds
|
||||
on: [push, pull_request]
|
||||
|
||||
# Global Cache Settings
|
||||
# SCONS_CACHE for windows must be set in the build environment
|
||||
# Global Settings
|
||||
env:
|
||||
GODOT_BASE_BRANCH: 3.2
|
||||
SCONS_CACHE_MSVC_CONFIG: true
|
||||
SCONS_CACHE_LIMIT: 4096
|
||||
SCONSFLAGS: platform=windows verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||
|
||||
jobs:
|
||||
windows-editor:
|
||||
|
@ -19,19 +16,6 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
# Editing this is pretty dangerous for Windows since it can break and needs to be properly tested with a fresh cache.
|
||||
- name: Load .scons_cache directory
|
||||
id: windows-editor-cache
|
||||
uses: RevoluPowered/cache@v2.1
|
||||
with:
|
||||
path: /.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -51,19 +35,9 @@ jobs:
|
|||
|
||||
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: /.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=windows tools=yes target=release_debug
|
||||
|
||||
# Build Product Upload (tested and working)
|
||||
# sorry this is disabled until github can give us some more space as we would hit our limit very quickly
|
||||
# tested this code and it works fine so just enable it to get them back
|
||||
# - name: publishing godot windows-editor
|
||||
# uses: actions/upload-artifact@v1
|
||||
# with:
|
||||
# name: windows-editor (x64)
|
||||
# path: bin/godot.windows.opt.tools.64.exe
|
||||
scons tools=yes target=release_debug
|
||||
ls -l bin/
|
||||
|
||||
windows-template:
|
||||
runs-on: "windows-latest"
|
||||
|
@ -72,19 +46,6 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# Upload cache on completion and check it out now
|
||||
# Editing this is pretty dangerous for Windows since it can break and needs to be properly tested with a fresh cache.
|
||||
- name: Load .scons_cache directory
|
||||
id: windows-template-cache
|
||||
uses: RevoluPowered/cache@v2.1
|
||||
with:
|
||||
path: /.scons_cache/
|
||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
||||
|
||||
# Use python 3.x release (works cross platform)
|
||||
- name: Set up Python 3.x
|
||||
uses: actions/setup-python@v2
|
||||
|
@ -103,16 +64,6 @@ jobs:
|
|||
scons --version
|
||||
|
||||
- name: Compilation
|
||||
env:
|
||||
SCONS_CACHE: /.scons_cache/
|
||||
run: |
|
||||
scons -j2 verbose=yes warnings=all werror=yes platform=windows target=release tools=no
|
||||
|
||||
# Build Product Upload (tested and working)
|
||||
# sorry this is disabled until github can give us some more space as we would hit our limit very quickly
|
||||
# tested this code and it works fine so just enable it to get them back
|
||||
# - name: publishing godot windows-template
|
||||
# uses: actions/upload-artifact@v1
|
||||
# with:
|
||||
# name: windows-template (x64)
|
||||
# path: bin/godot.windows.opt.64.exe
|
||||
scons target=release tools=no
|
||||
ls -l bin/
|
||||
|
|
Loading…
Reference in New Issue