Selaa lähdekoodia

CI: Sync configuration with master branch

- Factors out common arguments in SCONSFLAGS
- Upload artifacts
- Disable debug symbols for release templates
Rémi Verschelde 4 vuotta sitten
vanhempi
commit
3ebd5a2301

+ 14 - 10
.github/workflows/android_builds.yml

@@ -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

+ 10 - 2
.github/workflows/ios_builds.yml

@@ -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

+ 11 - 2
.github/workflows/javascript_builds.yml

@@ -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

+ 27 - 8
.github/workflows/linux_builds.yml

@@ -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/
+
+      - uses: actions/upload-artifact@v2
+        with:
+          name: ${{ github.job }}
+          path: bin/*
+          retention-days: 14
 
-  linux-sanitizer:
+  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

+ 18 - 3
.github/workflows/macos_builds.yml

@@ -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

+ 7 - 1
.github/workflows/static_checks.yml

@@ -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
 

+ 17 - 20
.github/workflows/windows_builds.yml

@@ -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
-
-# 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 debug_symbols=no
+        ls -l bin/
+
+    - uses: actions/upload-artifact@v2
+      with:
+        name: ${{ github.job }}
+        path: bin/*
+        retention-days: 14