CI: Sync configuration with master branch

- Factors out common arguments in SCONSFLAGS
- Upload artifacts
- Disable debug symbols for release templates
This commit is contained in:
Rémi Verschelde 2020-10-22 13:27:03 +02:00
parent 438e4f1e1a
commit 3ebd5a2301
No known key found for this signature in database
GPG Key ID: C3336907360768E1
7 changed files with 103 additions and 45 deletions

View File

@ -1,9 +1,10 @@
name: 🤖 Android Builds
on: [push, pull_request]
# Global Cache Settings
# Global Settings
env:
GODOT_BASE_BRANCH: 3.2
SCONSFLAGS: platform=android verbose=yes warnings=all werror=yes --jobs=2
SCONS_CACHE_LIMIT: 4096
jobs:
@ -18,25 +19,21 @@ 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
# The system image has a non-working Java version:
# /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/java
# openjdk version "11.0.8" 2020-07-14
# Install the official version.
- name: Install Java
# Install dependencies
- name: Install Java, Android SDK and NDK
run: |
sudo apt-get install openjdk-8-jdk
sudo update-java-alternatives -s java-1.8.0-openjdk-amd64
echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> $GITHUB_ENV
- name: Install Android SDK and NDK
run: |
java -version
misc/ci/android-tools-linux.sh
echo "ANDROID_HOME=$(pwd)/godot-dev/build-tools/android-sdk" >> $GITHUB_ENV
echo "ANDROID_NDK_ROOT=$(pwd)/godot-dev/build-tools/android-ndk" >> $GITHUB_ENV
source ~/.bashrc
# Upload cache on completion and check it out now
- name: Load .scons_cache directory
@ -71,4 +68,11 @@ jobs:
env:
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=android target=release tools=no
scons target=release tools=no
ls -l bin/
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14

View File

@ -1,9 +1,10 @@
name: 🍏 iOS Builds
on: [push, pull_request]
# Global Cache Settings
# Global Settings
env:
GODOT_BASE_BRANCH: 3.2
SCONSFLAGS: platform=iphone verbose=yes warnings=all werror=yes --jobs=2
SCONS_CACHE_LIMIT: 4096
jobs:
@ -47,4 +48,11 @@ jobs:
env:
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=iphone target=release tools=no
scons target=release tools=no
ls -l bin/
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14

View File

@ -1,9 +1,10 @@
name: 🌐 JavaScript Builds
on: [push, pull_request]
# Global Cache Settings
# Global Settings
env:
GODOT_BASE_BRANCH: 3.2
SCONSFLAGS: platform=javascript verbose=yes warnings=all werror=yes --jobs=2
SCONS_CACHE_LIMIT: 4096
EM_VERSION: 1.39.20
EM_CACHE_FOLDER: 'emsdk-cache'
@ -19,6 +20,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
@ -73,4 +75,11 @@ jobs:
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/
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14

View File

@ -1,13 +1,14 @@
name: 🐧 Linux Builds
on: [push, pull_request]
# Global Cache Settings
# Global Settings
env:
GODOT_BASE_BRANCH: 3.2
SCONSFLAGS: platform=linuxbsd verbose=yes warnings=all werror=yes --jobs=2
SCONS_CACHE_LIMIT: 4096
jobs:
linux-editor:
linux-editor-mono:
runs-on: "ubuntu-20.04"
name: Editor w/ Mono (target=release_debug, tools=yes)
@ -17,6 +18,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
@ -60,9 +62,16 @@ jobs:
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
ls -l bin/
linux-template:
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14
linux-template-mono:
runs-on: "ubuntu-20.04"
name: Template w/ Mono (target=release, tools=no)
@ -72,6 +81,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
@ -114,9 +124,16 @@ jobs:
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 debug_symbols=no
ls -l bin/
linux-sanitizer:
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14
linux-editor-sanitizers:
runs-on: "ubuntu-20.04"
name: Editor and exported project with sanitizers (target=debug/release, tools=yes/no, debug_symbols=yes/full, use_ubsan=yes, use_asan=yes)
@ -126,6 +143,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
@ -170,8 +188,9 @@ jobs:
env:
SCONS_CACHE: ${{github.workspace}}/.scons_cache/
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=x11 tools=yes target=debug use_ubsan=yes use_asan=yes
scons -j2 verbose=yes warnings=all werror=yes platform=x11 tools=no target=release debug_symbols=full use_ubsan=yes use_asan=yes
scons tools=yes target=debug use_asan=yes use_ubsan=yes
scons tools=no target=release debug_symbols=full use_ubsan=yes use_asan=yes
ls -l bin/
# Download and test project to check leaks and invalid memory usage
- name: Importing and running project project

View File

@ -1,9 +1,10 @@
name: 🍎 macOS Builds
on: [push, pull_request]
# Global Cache Settings
# Global Settings
env:
GODOT_BASE_BRANCH: 3.2
SCONSFLAGS: platform=osx verbose=yes warnings=all werror=yes --jobs=2
SCONS_CACHE_LIMIT: 4096
jobs:
@ -49,7 +50,14 @@ jobs:
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/
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14
macos-template:
runs-on: "macos-latest"
@ -91,4 +99,11 @@ jobs:
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 debug_symbols=no
ls -l bin/
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14

View File

@ -9,9 +9,15 @@ 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==20.8b1 pygments

View File

@ -1,10 +1,11 @@
name: 🏁 Windows Builds
on: [push, pull_request]
# Global Cache Settings
# Global Settings
# SCONS_CACHE for windows must be set in the build environment
env:
GODOT_BASE_BRANCH: 3.2
SCONSFLAGS: platform=windows verbose=yes warnings=all werror=yes --jobs=2
SCONS_CACHE_MSVC_CONFIG: true
SCONS_CACHE_LIMIT: 4096
@ -54,16 +55,14 @@ jobs:
env:
SCONS_CACHE: /.scons_cache/
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
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14
windows-template:
runs-on: "windows-latest"
@ -106,13 +105,11 @@ jobs:
env:
SCONS_CACHE: /.scons_cache/
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=windows target=release tools=no
scons target=release tools=no debug_symbols=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
- uses: actions/upload-artifact@v2
with:
name: ${{ github.job }}
path: bin/*
retention-days: 14