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.
|
# Each line is a file pattern followed by one or more owners.
|
||||||
# Owners can be @users, @org/teams or emails
|
# Owners can be @users, @org/teams or emails
|
||||||
|
|
||||||
/doc/ @godotengine/documentation
|
# Buildsystem
|
||||||
doc_classes/* @godotengine/documentation
|
|
||||||
|
|
||||||
# Rendering
|
.* @godotengine/buildsystem
|
||||||
/drivers/gl_context/ @reduz
|
.github/ @godotengine/buildsystem
|
||||||
/drivers/gles2/ @reduz
|
*.py @godotengine/buildsystem
|
||||||
/drivers/gles3/ @reduz
|
SConstruct @godotengine/buildsystem
|
||||||
|
SCsub @godotengine/buildsystem
|
||||||
|
|
||||||
# Audio
|
# Core
|
||||||
/drivers/alsa/ @marcelofg55
|
|
||||||
/drivers/alsamidi/ @marcelofg55
|
|
||||||
/drivers/coreaudio/ @marcelofg55
|
|
||||||
/drivers/coremidi/ @marcelofg55
|
|
||||||
/drivers/pulseaudio/ @marcelofg55
|
|
||||||
/drivers/wasapi/ @marcelofg55
|
|
||||||
/drivers/winmidi/ @marcelofg55
|
|
||||||
/drivers/xaudio2/ @marcelofg55
|
|
||||||
|
|
||||||
/drivers/unix/ @hpvb
|
/core/ @godotengine/core
|
||||||
/drivers/windows/ @hpvb
|
/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
|
# Drivers
|
||||||
/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
|
|
||||||
|
|
||||||
/platform/javascript/ @eska014
|
## Audio
|
||||||
/platform/uwp/ @vnen
|
/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
|
## Rendering
|
||||||
/server/visual*/ @reduz
|
/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
|
name: 🤖 Android Builds
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
# Global Cache Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
GODOT_BASE_BRANCH: 3.2
|
SCONSFLAGS: platform=android verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||||
SCONS_CACHE_LIMIT: 4096
|
ANDROID_NDK_VERSION: 21.1.6352462
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
android-template:
|
android-template:
|
||||||
|
@ -18,35 +18,18 @@ jobs:
|
||||||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||||
- name: Make apt sources.list use the default Ubuntu repositories
|
- name: Make apt sources.list use the default Ubuntu repositories
|
||||||
run: |
|
run: |
|
||||||
|
sudo rm -f /etc/apt/sources.list.d/*
|
||||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
||||||
# Install all packages (except scons)
|
- name: Set up Java 8
|
||||||
- name: Configure dependencies
|
uses: actions/setup-java@v1
|
||||||
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
|
|
||||||
with:
|
with:
|
||||||
path: ${{github.workspace}}/.scons_cache/
|
java-version: 8
|
||||||
key: ${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
|
||||||
restore-keys: |
|
- name: Install Android NDK r21
|
||||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}}
|
run: |
|
||||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}
|
sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install 'ndk;${{env.ANDROID_NDK_VERSION}}'
|
||||||
${{github.job}}-${{env.GODOT_BASE_BRANCH}}
|
|
||||||
|
|
||||||
# Use python 3.x release (works cross platform)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
|
@ -57,7 +40,6 @@ jobs:
|
||||||
# Optional - x64 or x86 architecture, defaults to x64
|
# Optional - x64 or x86 architecture, defaults to x64
|
||||||
architecture: 'x64'
|
architecture: 'x64'
|
||||||
|
|
||||||
# You can test your matrix by printing the current Python version
|
|
||||||
- name: Configuring Python packages
|
- name: Configuring Python packages
|
||||||
run: |
|
run: |
|
||||||
python -c "import sys; print(sys.version)"
|
python -c "import sys; print(sys.version)"
|
||||||
|
@ -67,6 +49,11 @@ jobs:
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
env:
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/${{env.ANDROID_NDK_VERSION}}/
|
||||||
run: |
|
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
|
name: 🍏 iOS Builds
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
# Global Cache Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
GODOT_BASE_BRANCH: 3.2
|
SCONSFLAGS: platform=iphone verbose=yes warnings=all werror=no debug_symbols=no --jobs=2
|
||||||
SCONS_CACHE_LIMIT: 4096
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ios-template:
|
ios-template:
|
||||||
|
@ -14,18 +13,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- 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)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
|
@ -44,7 +31,6 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
|
||||||
run: |
|
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
|
name: 🌐 JavaScript Builds
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
# Global Cache Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
GODOT_BASE_BRANCH: 3.2
|
SCONSFLAGS: platform=javascript verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||||
SCONS_CACHE_LIMIT: 4096
|
|
||||||
EM_VERSION: 1.39.20
|
EM_VERSION: 1.39.20
|
||||||
EM_CACHE_FOLDER: 'emsdk-cache'
|
EM_CACHE_FOLDER: 'emsdk-cache'
|
||||||
|
|
||||||
|
@ -19,21 +18,10 @@ jobs:
|
||||||
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||||
- name: Make apt sources.list use the default Ubuntu repositories
|
- name: Make apt sources.list use the default Ubuntu repositories
|
||||||
run: |
|
run: |
|
||||||
|
sudo rm -f /etc/apt/sources.list.d/*
|
||||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||||
sudo apt-get update
|
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
|
# Additional cache for Emscripten generated system libraries
|
||||||
- name: Load Emscripten cache
|
- name: Load Emscripten cache
|
||||||
id: javascript-template-emscripten-cache
|
id: javascript-template-emscripten-cache
|
||||||
|
@ -60,7 +48,7 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Set up Emscripten latest
|
- name: Set up Emscripten latest
|
||||||
uses: mymindstorm/setup-emsdk@v6
|
uses: mymindstorm/setup-emsdk@v7
|
||||||
with:
|
with:
|
||||||
version: ${{env.EM_VERSION}}
|
version: ${{env.EM_VERSION}}
|
||||||
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
||||||
|
@ -70,7 +58,6 @@ jobs:
|
||||||
emcc -v
|
emcc -v
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
|
||||||
run: |
|
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
|
name: 🐧 Linux Builds
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
# Global Cache Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
GODOT_BASE_BRANCH: 3.2
|
SCONSFLAGS: platform=linuxbsd verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||||
SCONS_CACHE_LIMIT: 4096
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
linux-editor:
|
linux-editor-mono:
|
||||||
runs-on: "ubuntu-20.04"
|
runs-on: "ubuntu-20.04"
|
||||||
name: Editor w/ Mono (target=release_debug, tools=yes)
|
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.
|
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||||
- name: Make apt sources.list use the default Ubuntu repositories
|
- name: Make apt sources.list use the default Ubuntu repositories
|
||||||
run: |
|
run: |
|
||||||
|
sudo rm -f /etc/apt/sources.list.d/*
|
||||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
||||||
# Install all packages (except scons)
|
# Install all packages (except scons)
|
||||||
- name: Configure dependencies
|
- name: Configure dependencies
|
||||||
run: |
|
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
|
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)
|
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
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
|
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
|
||||||
run: |
|
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"
|
runs-on: "ubuntu-20.04"
|
||||||
name: Template w/ Mono (target=release, tools=no)
|
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.
|
# Azure repositories are not reliable, we need to prevent azure giving us packages.
|
||||||
- name: Make apt sources.list use the default Ubuntu repositories
|
- name: Make apt sources.list use the default Ubuntu repositories
|
||||||
run: |
|
run: |
|
||||||
|
sudo rm -f /etc/apt/sources.list.d/*
|
||||||
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
sudo cp -f misc/ci/sources.list /etc/apt/sources.list
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
|
|
||||||
|
@ -81,18 +71,6 @@ jobs:
|
||||||
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
|
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
|
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)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
|
@ -111,7 +89,6 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
|
||||||
run: |
|
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
|
name: 🍎 macOS Builds
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
# Global Cache Settings
|
# Global Settings
|
||||||
env:
|
env:
|
||||||
GODOT_BASE_BRANCH: 3.2
|
SCONSFLAGS: platform=osx verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||||
SCONS_CACHE_LIMIT: 4096
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
macos-editor:
|
macos-editor:
|
||||||
|
@ -15,18 +14,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- 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)
|
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
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
|
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
|
||||||
run: |
|
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:
|
macos-template:
|
||||||
runs-on: "macos-latest"
|
runs-on: "macos-latest"
|
||||||
|
@ -58,18 +44,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- 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)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
|
@ -88,7 +62,6 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
|
|
||||||
run: |
|
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
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
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
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update -qq
|
sudo apt-get install -qq dos2unix recode clang-format-10
|
||||||
sudo apt-get install -qq dos2unix recode clang-format
|
sudo update-alternatives --remove-all clang-format
|
||||||
sudo pip3 install black pygments
|
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)
|
- name: File formatting checks (file_format.sh)
|
||||||
run: |
|
run: |
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
name: 🏁 Windows Builds
|
name: 🏁 Windows Builds
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
# Global Cache Settings
|
# Global Settings
|
||||||
# SCONS_CACHE for windows must be set in the build environment
|
|
||||||
env:
|
env:
|
||||||
GODOT_BASE_BRANCH: 3.2
|
SCONSFLAGS: platform=windows verbose=yes warnings=all werror=yes debug_symbols=no --jobs=2
|
||||||
SCONS_CACHE_MSVC_CONFIG: true
|
|
||||||
SCONS_CACHE_LIMIT: 4096
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
windows-editor:
|
windows-editor:
|
||||||
|
@ -19,19 +16,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- 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)
|
# Use python 3.x release (works cross platform; best to keep self contained in it's own step)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
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
|
# We should always be explicit with our flags usage here since it's gonna be sure to always set those flags
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: /.scons_cache/
|
|
||||||
run: |
|
run: |
|
||||||
scons -j2 verbose=yes warnings=all werror=yes platform=windows tools=yes target=release_debug
|
scons tools=yes target=release_debug
|
||||||
|
ls -l bin/
|
||||||
# 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
|
|
||||||
|
|
||||||
windows-template:
|
windows-template:
|
||||||
runs-on: "windows-latest"
|
runs-on: "windows-latest"
|
||||||
|
@ -72,19 +46,6 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- 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)
|
# Use python 3.x release (works cross platform)
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v2
|
||||||
|
@ -103,16 +64,6 @@ jobs:
|
||||||
scons --version
|
scons --version
|
||||||
|
|
||||||
- name: Compilation
|
- name: Compilation
|
||||||
env:
|
|
||||||
SCONS_CACHE: /.scons_cache/
|
|
||||||
run: |
|
run: |
|
||||||
scons -j2 verbose=yes warnings=all werror=yes platform=windows target=release tools=no
|
scons target=release tools=no
|
||||||
|
ls -l bin/
|
||||||
# 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
|
|
||||||
|
|
Loading…
Reference in New Issue