From 381fb9e53170997a925f34f1345f8d28c6416c06 Mon Sep 17 00:00:00 2001 From: AsakuraMizu <0xWATERx0@gmail.com> Date: Sun, 6 Sep 2020 15:33:09 +0800 Subject: [PATCH 1/3] More featured automated builds --- .github/workflows/android.yml | 82 ++++++++++++++++++++++++ .github/workflows/build.yml | 111 --------------------------------- .github/workflows/html5.yml | 77 +++++++++++++++++++++++ .github/workflows/ios.yml | 72 +++++++++++++++++++++ .github/workflows/linux.yml | 113 +++++++++++++++++++++++++++++++++ .github/workflows/macos.yml | 109 ++++++++++++++++++++++++++++++++ .github/workflows/windows.yml | 114 ++++++++++++++++++++++++++++++++++ 7 files changed, 567 insertions(+), 111 deletions(-) create mode 100644 .github/workflows/android.yml delete mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/html5.yml create mode 100644 .github/workflows/ios.yml create mode 100644 .github/workflows/linux.yml create mode 100644 .github/workflows/macos.yml create mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml new file mode 100644 index 00000000..c6568d5f --- /dev/null +++ b/.github/workflows/android.yml @@ -0,0 +1,82 @@ +name: 🤖 Android Builds +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + +jobs: + android-template: + runs-on: ubuntu-latest + name: Android Template + steps: + - name: Get dependencies + run: | + sudo apt-get install openjdk-8-jdk + echo "::set-env name=JAVA_HOME::usr/lib/jvm/java-8-openjdk-amd64" + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: android-template-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - 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" + ${{github.workspace}}/misc/ci/android-tools-linux.sh + source ~/.bashrc + + - name: Build godot with ECMAScript module for Android (release) + run: | + scons p=android android_arch=armv7 tools=no target=release -j8 + scons p=android android_arch=arm64v8 tools=no target=release -j8 + scons p=android android_arch=x86 tools=no target=release -j8 + scons p=android android_arch=x86_64 tools=no target=release -j8 + cd platform/android/java + ./gradlew generateGodotTemplates + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: android_release + path: bin/ + + - name: Build godot with ECMAScript module for Android (debug) + run: | + rm bin -r + scons p=android android_arch=armv7 tools=no target=release_debug -j8 + scons p=android android_arch=arm64v8 tools=no target=release_debug -j8 + scons p=android android_arch=x86 tools=no target=release_debug -j8 + scons p=android android_arch=x86_64 tools=no target=release_debug -j8 + cd platform/android/java + ./gradlew generateGodotTemplates + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: android_debug + path: bin/ \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 5269172a..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,111 +0,0 @@ -name: Build Godot with ECMAScript -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# TODO: Need to also publish release builds without tools (for exporters) for linux, windows, mac, ios, android -jobs: - build_linux: - name: Build Linux - runs-on: ubuntu-latest - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Get repositories - # TODO: Migrate this to use checkout action for ECMAScript.git rather than clone - run: | - rm -rf /godot && cd / - git clone https://github.com/godotengine/godot.git - cd ./godot - git checkout 3.2.2-stable - git clone https://github.com/GodotExplorer/ECMAScript.git ./modules/ECMAScript - - name: Build godot with ECMAScript module for Linux - run: | - cd /godot - scons p=x11 target=release_debug -j8 - strip bin/godot.x11.opt.tools.64 - ls ./bin - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.javascript.x11.opt.tools.64 - path: /godot/bin/godot.x11.opt.tools.64 - build_windows: - name: Build Windows - runs-on: ubuntu-latest - container: - image: flux159/godot:1.0.0 - steps: - - name: Get repositories - # TODO: Migrate this to use checkout action for ECMAScript.git rather than clone - run: | - rm -rf /godot && cd / - git clone https://github.com/godotengine/godot.git - cd ./godot - git checkout 3.2.2-stable - git clone https://github.com/GodotExplorer/ECMAScript.git ./modules/ECMAScript - - name: Build godot with ECMAScript module for Windows - run: | - cd /godot - update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix - update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix - scons p=windows bits=64 target=release_debug -j8 - strip bin/godot.windows.opt.tools.64.exe - ls ./bin - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.javascript.windows.opt.tools.64.exe - path: /godot/bin/godot.windows.opt.tools.64.exe - build_mac: - name: Build Mac - runs-on: macos-latest - steps: - - name: Get dependencies - run: | - brew install scons yasm - - name: Get repositories - # TODO: Migrate this to use checkout action for ECMAScript.git rather than clone - run: | - cd ~ - git clone https://github.com/godotengine/godot.git - cd ./godot - git checkout 3.2.2-stable - git clone https://github.com/GodotExplorer/ECMAScript.git ./modules/ECMAScript - - name: Build godot with ECMAScript module for MacOS - # TODO: Support apple silicon with 3.2.3 for universal binaries - https://docs.godotengine.org/en/stable/development/compiling/compiling_for_osx.html - run: | - cd ~/godot - scons p=osx arch=x86_64 target=release_debug -j8 - strip bin/godot.osx.opt.tools.x86_64 - ls ./bin - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.javascript.osx.opt.tools.x86_64 - path: ~/godot/bin/godot.osx.opt.tools.x86_64 - build_html5: - name: Build HTML5 Exporter - runs-on: ubuntu-latest - container: - image: flux159/godot:1.0.0 - steps: - - name: Get repositories - # TODO: Migrate this to use checkout action for ECMAScript.git rather than clone - run: | - rm -rf /godot && cd / - git clone https://github.com/godotengine/godot.git - cd ./godot - git checkout 3.2.2-stable - git clone https://github.com/GodotExplorer/ECMAScript.git ./modules/ECMAScript - - name: Build godot with ECMAScript for HTML5 platform - # This needs to run in bash for source command - run: | - bash -c "/emsdk/emsdk activate latest && chmod +x /emsdk/emsdk_env.sh && cd /emsdk && source ./emsdk_env.sh && cd /godot && scons -j8 p=javascript tools=no target=release && ls ./bin" - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.javascript.html5.opt.zip - path: /godot/bin/godot.javascript.opt.zip diff --git a/.github/workflows/html5.yml b/.github/workflows/html5.yml new file mode 100644 index 00000000..61689b45 --- /dev/null +++ b/.github/workflows/html5.yml @@ -0,0 +1,77 @@ +name: 🌐 HTML5 Builds +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + EM_VERSION: 1.39.20 + EM_CACHE_FOLDER: 'emsdk-cache' + +jobs: + html5-template: + runs-on: ubuntu-latest + name: HTML5 Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: html5-template-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + # Additional cache for Emscripten generated system libraries + - name: Load Emscripten cache + id: html5-template-emscripten-cache + uses: actions/cache@v2 + with: + path: ${{env.EM_CACHE_FOLDER}} + key: ${{env.EM_VERSION}}-${{github.job}} + + - name: Set up Emscripten + uses: mymindstorm/setup-emsdk@v6 + with: + version: ${{env.EM_VERSION}} + actions-cache-folder: ${{env.EM_CACHE_FOLDER}} + + - name: Verify Emscripten setup + run: | + emcc -v + + - name: Build godot with ECMAScript module for HTML5 platform + run: | + scons p=javascript tools=no target=release -j8 + scons p=javascript tools=no target=release_debug -j8 + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: webassembly_release + path: bin/godot.javascript.opt.zip + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: webassembly_debug + path: bin/godot.javascript.opt.debug.zip \ No newline at end of file diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml new file mode 100644 index 00000000..2139bbb8 --- /dev/null +++ b/.github/workflows/ios.yml @@ -0,0 +1,72 @@ +name: 🍏 iOS Builds +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + +jobs: + ios-template: + runs-on: macos-latest + name: iOS Template + steps: + - name: Get dependencies + run: | + brew install scons yasm + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for iOS (release) + run: | + scons p=iphone arch=arm tools=no target=release -j8 + scons p=iphone arch=arm64 tools=no target=release -j8 + scons p=iphone arch=x86_64 tools=no target=release -j8 + lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86_64.a -output bin/libgodot.iphone.fat.a + lipo -create bin/libgodot_camera_module.iphone.opt.arm.a bin/libgodot_camera_module.iphone.opt.arm64.a bin/libgodot_camera_module.iphone.opt.x86_64.a -output bin/libgodot_camera_module.iphone.fat.a + lipo -create bin/libgodot_arkit_module.iphone.opt.arm.a bin/libgodot_arkit_module.iphone.opt.arm64.a bin/libgodot_arkit_module.iphone.opt.x86_64.a -output bin/libgodot_arkit_module.iphone.fat.a + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: iphone_release + path: bin/*.iphone.fat.a + + - name: Build godot with ECMAScript module for iOS (debug) + run: | + rm bin -r + scons p=iphone arch=arm tools=no target=release_debug -j8 + scons p=iphone arch=arm64 tools=no target=release_debug -j8 + scons p=iphone arch=x86_64 tools=no target=release_debug -j8 + lipo -create bin/libgodot.iphone.opt.debug.arm.a bin/libgodot.iphone.opt.debug.arm64.a bin/libgodot.iphone.opt.debug.x86_64.a -output bin/libgodot.iphone.fat.a + lipo -create bin/libgodot_camera_module.iphone.opt.debug.arm.a bin/libgodot_camera_module.iphone.opt.debug.arm64.a bin/libgodot_camera_module.iphone.opt.debug.x86_64.a -output bin/libgodot_camera_module.iphone.fat.a + lipo -create bin/libgodot_arkit_module.iphone.opt.debug.arm.a bin/libgodot_arkit_module.iphone.opt.debug.arm64.a bin/libgodot_arkit_module.iphone.opt.debug.x86_64.a -output bin/libgodot_arkit_module.iphone.fat.a + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: iphone_debug + path: bin/*.iphone.fat.a \ No newline at end of file diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 00000000..6c3518d5 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,113 @@ +name: 🐧 Linux Builds +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + +jobs: + linux-editor: + runs-on: ubuntu-latest + name: Linux Editor + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for Linux + run: | + scons p=x11 target=release_debug -j8 + strip bin/godot.x11.opt.tools.64 + + - name: Publish artifact + uses: actions/upload-artifact@v2 + with: + name: godot.x11.opt.tools.64 + path: bin/godot.x11.opt.tools.64 + + linux-template: + runs-on: ubuntu-latest + name: Linux Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for Linux + run: | + scons p=x11 bits=64 tools=no target=release -j8 + scons p=x11 bits=64 tools=no target=release_debug -j8 + scons p=x11 bits=32 tools=no target=release -j8 + scons p=x11 bits=32 tools=no target=release_debug -j8 + strip bin/* + + - name: Publish artifact (release/64) + uses: actions/upload-artifact@v2 + with: + name: linux_x11_64_release + path: bin/godot.x11.opt.64 + + - name: Publish artifact (debug/64) + uses: actions/upload-artifact@v2 + with: + name: linux_x11_64_debug + path: bin/godot.x11.opt.debug.64 + + - name: Publish artifact (release/32) + uses: actions/upload-artifact@v2 + with: + name: linux_x11_32_release + path: bin/godot.x11.opt.32 + + - name: Publish artifact (debug/32) + uses: actions/upload-artifact@v2 + with: + name: linux_x11_32_debug + path: bin/godot.x11.opt.debug.32 \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml new file mode 100644 index 00000000..3442c768 --- /dev/null +++ b/.github/workflows/macos.yml @@ -0,0 +1,109 @@ +name: 🍎 macOS Builds +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + +jobs: + macos-editor: + runs-on: macos-latest + name: macOS Editor + steps: + - name: Get dependencies + run: | + brew install scons yasm + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for macOS + run: | + scons p=osx arch=x86_64 target=release_debug -j8 + strip bin/godot.osx.opt.tools.x86_64 + + - name: Publish artifact + uses: actions/upload-artifact@v2 + with: + name: godot.javascript.osx.opt.tools.x86_64 + path: bin/godot.osx.opt.tools.x86_64 + + macos-template: + runs-on: macos-latest + name: macOS Template + steps: + - name: Get dependencies + run: | + brew install scons yasm + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for macOS (release) + run: | + scons p=osx arch=x86_64 tools=no target=release -j8 + scons p=osx arch=arm64 tools=no target=release -j8 + lipo -create bin/godot.osx.opt.x86_64 bin/godot.osx.opt.arm64 -output bin/godot.osx.opt.64 + strip bin/godot.osx.64 + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: osx_release.64 + path: bin/godot.osx.opt.64 + + - name: Build godot with ECMAScript module for macOS (debug) + run: | + scons p=osx arch=x86_64 tools=no target=release_debug -j8 + scons p=osx arch=arm64 tools=no target=release_debug -j8 + lipo -create bin/godot.osx.x86_64 bin/godot.osx.arm64 -output bin/godot.osx.64 + strip bin/godot.osx.64 + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: osx_debug.64 + path: bin/godot.osx.64 \ No newline at end of file diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 00000000..6dac8a5d --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,114 @@ +name: 🏁 Windows Builds +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + +jobs: + windows-editor: + runs-on: ubuntu-latest + name: Windows Editor + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: windows-editor-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for Windows + run: | + update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix + scons p=windows bits=64 target=release_debug -j8 + strip bin/godot.windows.opt.tools.64.exe + + - name: Publish artifact + uses: actions/upload-artifact@v2 + with: + name: godot.javascript.windows.opt.tools.64.exe + path: bin/godot.windows.opt.tools.64.exe + + windows-template: + runs-on: ubuntu-latest + name: Windows Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: windows-template-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Setup MinGW + run: | + update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix + + - name: Build godot with ECMAScript module for Windows (release) + run: | + scons p=windows bits=64 tools=no target=release -j8 + strip bin/godot.windows.opt.64.exe + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: windows_64_release + path: bin/godot.windows.opt.64.exe + + - name: Build godot with ECMAScript module for Windows (debug) + run: | + scons p=windows bits=64 tools=no target=release_debug -j8 + strip bin/godot.windows.opt.debug.64.exe + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: windows_64_debug + path: bin/godot.windows.opt.debug.64.exe \ No newline at end of file From 472351fa6190fedc004426603bdfd22f9ba6cede Mon Sep 17 00:00:00 2001 From: AsakuraMizu <0xWATERx0@gmail.com> Date: Mon, 7 Sep 2020 10:42:39 +0800 Subject: [PATCH 2/3] fix --- .github/workflows/android.yml | 22 +++++++++++++++------- .github/workflows/html5.yml | 34 ++++++++-------------------------- .github/workflows/ios.yml | 6 +++++- .github/workflows/linux.yml | 16 +--------------- .github/workflows/macos.yml | 12 ++++-------- 5 files changed, 33 insertions(+), 57 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index c6568d5f..12bf44fe 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -12,11 +12,15 @@ jobs: android-template: runs-on: ubuntu-latest name: Android Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 steps: - name: Get dependencies run: | - sudo apt-get install openjdk-8-jdk - echo "::set-env name=JAVA_HOME::usr/lib/jvm/java-8-openjdk-amd64" + apt-get update + apt-get install -y openjdk-8-jdk curl unzip + echo "::set-env name=JAVA_HOME::/usr/lib/jvm/java-8-openjdk-amd64" - name: Checkout Godot uses: actions/checkout@v2 @@ -43,12 +47,12 @@ jobs: - 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=PATH::/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:$(pwd)/godot-dev/build-tools/android-sdk/tools:$(pwd)/godot-dev/build-tools/android-sdk/tools/bin:${PATH}" 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" - ${{github.workspace}}/misc/ci/android-tools-linux.sh - source ~/.bashrc + wget https://raw.githubusercontent.com/godotengine/godot/431930b/misc/ci/android-tools-linux.sh + chmod +x android-tools-linux.sh + ./android-tools-linux.sh - name: Build godot with ECMAScript module for Android (release) run: | @@ -65,9 +69,13 @@ jobs: name: android_release path: bin/ + - name: Remove Previous Build + uses: JesseTG/rm@v1.0.2 + with: + path: ${{github.workspace}}/bin/ + - name: Build godot with ECMAScript module for Android (debug) run: | - rm bin -r scons p=android android_arch=armv7 tools=no target=release_debug -j8 scons p=android android_arch=arm64v8 tools=no target=release_debug -j8 scons p=android android_arch=x86 tools=no target=release_debug -j8 diff --git a/.github/workflows/html5.yml b/.github/workflows/html5.yml index 61689b45..016dfbb1 100644 --- a/.github/workflows/html5.yml +++ b/.github/workflows/html5.yml @@ -7,8 +7,6 @@ env: GODOT_BASE_BRANCH: '3.2.2-stable' BASE_BRANCH: master SCONS_CACHE_LIMIT: 4096 - EM_VERSION: 1.39.20 - EM_CACHE_FOLDER: 'emsdk-cache' jobs: html5-template: @@ -41,28 +39,12 @@ jobs: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} ${{github.job}}-${{env.BASE_BRANCH}} - # Additional cache for Emscripten generated system libraries - - name: Load Emscripten cache - id: html5-template-emscripten-cache - uses: actions/cache@v2 - with: - path: ${{env.EM_CACHE_FOLDER}} - key: ${{env.EM_VERSION}}-${{github.job}} - - - name: Set up Emscripten - uses: mymindstorm/setup-emsdk@v6 - with: - version: ${{env.EM_VERSION}} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - - name: Verify Emscripten setup - run: | - emcc -v - - name: Build godot with ECMAScript module for HTML5 platform + shell: bash run: | + /emsdk/emsdk activate latest + source /emsdk/emsdk_env.sh scons p=javascript tools=no target=release -j8 - scons p=javascript tools=no target=release_debug -j8 - name: Publish artifact (release) uses: actions/upload-artifact@v2 @@ -70,8 +52,8 @@ jobs: name: webassembly_release path: bin/godot.javascript.opt.zip - - name: Publish artifact (debug) - uses: actions/upload-artifact@v2 - with: - name: webassembly_debug - path: bin/godot.javascript.opt.debug.zip \ No newline at end of file + # - name: Publish artifact (debug) + # uses: actions/upload-artifact@v2 + # with: + # name: webassembly_debug + # path: bin/godot.javascript.opt.debug.zip \ No newline at end of file diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 2139bbb8..9668760d 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -55,9 +55,13 @@ jobs: name: iphone_release path: bin/*.iphone.fat.a + - name: Remove Previous Build + uses: JesseTG/rm@v1.0.2 + with: + path: ${{github.workspace}}/bin/ + - name: Build godot with ECMAScript module for iOS (debug) run: | - rm bin -r scons p=iphone arch=arm tools=no target=release_debug -j8 scons p=iphone arch=arm64 tools=no target=release_debug -j8 scons p=iphone arch=x86_64 tools=no target=release_debug -j8 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 6c3518d5..94bdb9c9 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -84,8 +84,6 @@ jobs: run: | scons p=x11 bits=64 tools=no target=release -j8 scons p=x11 bits=64 tools=no target=release_debug -j8 - scons p=x11 bits=32 tools=no target=release -j8 - scons p=x11 bits=32 tools=no target=release_debug -j8 strip bin/* - name: Publish artifact (release/64) @@ -98,16 +96,4 @@ jobs: uses: actions/upload-artifact@v2 with: name: linux_x11_64_debug - path: bin/godot.x11.opt.debug.64 - - - name: Publish artifact (release/32) - uses: actions/upload-artifact@v2 - with: - name: linux_x11_32_release - path: bin/godot.x11.opt.32 - - - name: Publish artifact (debug/32) - uses: actions/upload-artifact@v2 - with: - name: linux_x11_32_debug - path: bin/godot.x11.opt.debug.32 \ No newline at end of file + path: bin/godot.x11.opt.debug.64 \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 3442c768..7df1e43c 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -85,25 +85,21 @@ jobs: - name: Build godot with ECMAScript module for macOS (release) run: | scons p=osx arch=x86_64 tools=no target=release -j8 - scons p=osx arch=arm64 tools=no target=release -j8 - lipo -create bin/godot.osx.opt.x86_64 bin/godot.osx.opt.arm64 -output bin/godot.osx.opt.64 - strip bin/godot.osx.64 + strip bin/godot.osx.opt.x86_64 - name: Publish artifact (release) uses: actions/upload-artifact@v2 with: name: osx_release.64 - path: bin/godot.osx.opt.64 + path: bin/godot.osx.opt.x86_64 - name: Build godot with ECMAScript module for macOS (debug) run: | scons p=osx arch=x86_64 tools=no target=release_debug -j8 - scons p=osx arch=arm64 tools=no target=release_debug -j8 - lipo -create bin/godot.osx.x86_64 bin/godot.osx.arm64 -output bin/godot.osx.64 - strip bin/godot.osx.64 + strip bin/godot.osx.opt.debug.x86_64 - name: Publish artifact (debug) uses: actions/upload-artifact@v2 with: name: osx_debug.64 - path: bin/godot.osx.64 \ No newline at end of file + path: bin/godot.osx.opt.debug.x86_64 \ No newline at end of file From 8c7f1cf62295388dd999c849c6cde08917f97214 Mon Sep 17 00:00:00 2001 From: AsakuraMizu <0xWATERx0@gmail.com> Date: Mon, 7 Sep 2020 10:47:30 +0800 Subject: [PATCH 3/3] Merge into single file --- .github/workflows/android.yml | 90 ------- .github/workflows/build.yml | 493 ++++++++++++++++++++++++++++++++++ .github/workflows/html5.yml | 59 ---- .github/workflows/ios.yml | 76 ------ .github/workflows/linux.yml | 99 ------- .github/workflows/macos.yml | 105 -------- .github/workflows/windows.yml | 114 -------- 7 files changed, 493 insertions(+), 543 deletions(-) delete mode 100644 .github/workflows/android.yml create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/html5.yml delete mode 100644 .github/workflows/ios.yml delete mode 100644 .github/workflows/linux.yml delete mode 100644 .github/workflows/macos.yml delete mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml deleted file mode 100644 index 12bf44fe..00000000 --- a/.github/workflows/android.yml +++ /dev/null @@ -1,90 +0,0 @@ -name: 🤖 Android Builds -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# Global Cache Settings -env: - GODOT_BASE_BRANCH: '3.2.2-stable' - BASE_BRANCH: master - SCONS_CACHE_LIMIT: 4096 - -jobs: - android-template: - runs-on: ubuntu-latest - name: Android Template - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Get dependencies - run: | - apt-get update - apt-get install -y openjdk-8-jdk curl unzip - echo "::set-env name=JAVA_HOME::/usr/lib/jvm/java-8-openjdk-amd64" - - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # Upload cache on completion and check it out now - - name: Load .scons_cache directory - id: android-template-cache - uses: actions/cache@v2 - with: - path: ${{github.workspace}}/.scons_cache/ - key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Install Android SDK and NDK - run: | - echo "::set-env name=PATH::/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:$(pwd)/godot-dev/build-tools/android-sdk/tools:$(pwd)/godot-dev/build-tools/android-sdk/tools/bin:${PATH}" - 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" - wget https://raw.githubusercontent.com/godotengine/godot/431930b/misc/ci/android-tools-linux.sh - chmod +x android-tools-linux.sh - ./android-tools-linux.sh - - - name: Build godot with ECMAScript module for Android (release) - run: | - scons p=android android_arch=armv7 tools=no target=release -j8 - scons p=android android_arch=arm64v8 tools=no target=release -j8 - scons p=android android_arch=x86 tools=no target=release -j8 - scons p=android android_arch=x86_64 tools=no target=release -j8 - cd platform/android/java - ./gradlew generateGodotTemplates - - - name: Publish artifact (release) - uses: actions/upload-artifact@v2 - with: - name: android_release - path: bin/ - - - name: Remove Previous Build - uses: JesseTG/rm@v1.0.2 - with: - path: ${{github.workspace}}/bin/ - - - name: Build godot with ECMAScript module for Android (debug) - run: | - scons p=android android_arch=armv7 tools=no target=release_debug -j8 - scons p=android android_arch=arm64v8 tools=no target=release_debug -j8 - scons p=android android_arch=x86 tools=no target=release_debug -j8 - scons p=android android_arch=x86_64 tools=no target=release_debug -j8 - cd platform/android/java - ./gradlew generateGodotTemplates - - - name: Publish artifact (debug) - uses: actions/upload-artifact@v2 - with: - name: android_debug - path: bin/ \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..087bba94 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,493 @@ +name: Build Godot with ECMAScript +# TODO: Investigate making this on tag instead of push since builds take so long +on: [push] + +# Global Cache Settings +env: + GODOT_BASE_BRANCH: '3.2.2-stable' + BASE_BRANCH: master + SCONS_CACHE_LIMIT: 4096 + +jobs: + android-template: + runs-on: ubuntu-latest + name: 🤖 Android Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Get dependencies + run: | + apt-get update + apt-get install -y openjdk-8-jdk curl unzip + echo "::set-env name=JAVA_HOME::/usr/lib/jvm/java-8-openjdk-amd64" + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: android-template-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Install Android SDK and NDK + run: | + echo "::set-env name=PATH::/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:$(pwd)/godot-dev/build-tools/android-sdk/tools:$(pwd)/godot-dev/build-tools/android-sdk/tools/bin:${PATH}" + 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" + wget https://raw.githubusercontent.com/godotengine/godot/431930b/misc/ci/android-tools-linux.sh + chmod +x android-tools-linux.sh + ./android-tools-linux.sh + + - name: Build godot with ECMAScript module for Android (release) + run: | + scons p=android android_arch=armv7 tools=no target=release -j8 + scons p=android android_arch=arm64v8 tools=no target=release -j8 + scons p=android android_arch=x86 tools=no target=release -j8 + scons p=android android_arch=x86_64 tools=no target=release -j8 + cd platform/android/java + ./gradlew generateGodotTemplates + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: android_release + path: bin/ + + - name: Remove Previous Build + uses: JesseTG/rm@v1.0.2 + with: + path: ${{github.workspace}}/bin/ + + - name: Build godot with ECMAScript module for Android (debug) + run: | + scons p=android android_arch=armv7 tools=no target=release_debug -j8 + scons p=android android_arch=arm64v8 tools=no target=release_debug -j8 + scons p=android android_arch=x86 tools=no target=release_debug -j8 + scons p=android android_arch=x86_64 tools=no target=release_debug -j8 + cd platform/android/java + ./gradlew generateGodotTemplates + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: android_debug + path: bin/ + + html5-template: + runs-on: ubuntu-latest + name: 🌐 HTML5 Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: html5-template-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for HTML5 platform + shell: bash + run: | + /emsdk/emsdk activate latest + source /emsdk/emsdk_env.sh + scons p=javascript tools=no target=release -j8 + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: webassembly_release + path: bin/godot.javascript.opt.zip + + # - name: Publish artifact (debug) + # uses: actions/upload-artifact@v2 + # with: + # name: webassembly_debug + # path: bin/godot.javascript.opt.debug.zip + + ios-template: + runs-on: macos-latest + name: 🍏 iOS Template + steps: + - name: Get dependencies + run: | + brew install scons yasm + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for iOS (release) + run: | + scons p=iphone arch=arm tools=no target=release -j8 + scons p=iphone arch=arm64 tools=no target=release -j8 + scons p=iphone arch=x86_64 tools=no target=release -j8 + lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86_64.a -output bin/libgodot.iphone.fat.a + lipo -create bin/libgodot_camera_module.iphone.opt.arm.a bin/libgodot_camera_module.iphone.opt.arm64.a bin/libgodot_camera_module.iphone.opt.x86_64.a -output bin/libgodot_camera_module.iphone.fat.a + lipo -create bin/libgodot_arkit_module.iphone.opt.arm.a bin/libgodot_arkit_module.iphone.opt.arm64.a bin/libgodot_arkit_module.iphone.opt.x86_64.a -output bin/libgodot_arkit_module.iphone.fat.a + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: iphone_release + path: bin/*.iphone.fat.a + + - name: Remove Previous Build + uses: JesseTG/rm@v1.0.2 + with: + path: ${{github.workspace}}/bin/ + + - name: Build godot with ECMAScript module for iOS (debug) + run: | + scons p=iphone arch=arm tools=no target=release_debug -j8 + scons p=iphone arch=arm64 tools=no target=release_debug -j8 + scons p=iphone arch=x86_64 tools=no target=release_debug -j8 + lipo -create bin/libgodot.iphone.opt.debug.arm.a bin/libgodot.iphone.opt.debug.arm64.a bin/libgodot.iphone.opt.debug.x86_64.a -output bin/libgodot.iphone.fat.a + lipo -create bin/libgodot_camera_module.iphone.opt.debug.arm.a bin/libgodot_camera_module.iphone.opt.debug.arm64.a bin/libgodot_camera_module.iphone.opt.debug.x86_64.a -output bin/libgodot_camera_module.iphone.fat.a + lipo -create bin/libgodot_arkit_module.iphone.opt.debug.arm.a bin/libgodot_arkit_module.iphone.opt.debug.arm64.a bin/libgodot_arkit_module.iphone.opt.debug.x86_64.a -output bin/libgodot_arkit_module.iphone.fat.a + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: iphone_debug + path: bin/*.iphone.fat.a + + linux-editor: + runs-on: ubuntu-latest + name: 🐧 Linux Editor + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for Linux + run: | + scons p=x11 target=release_debug -j8 + strip bin/godot.x11.opt.tools.64 + + - name: Publish artifact + uses: actions/upload-artifact@v2 + with: + name: linux_x11_64_editor + path: bin/godot.x11.opt.tools.64 + + linux-template: + runs-on: ubuntu-latest + name: 🐧 Linux Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for Linux + run: | + scons p=x11 bits=64 tools=no target=release -j8 + scons p=x11 bits=64 tools=no target=release_debug -j8 + strip bin/* + + - name: Publish artifact (release/64) + uses: actions/upload-artifact@v2 + with: + name: linux_x11_64_release + path: bin/godot.x11.opt.64 + + - name: Publish artifact (debug/64) + uses: actions/upload-artifact@v2 + with: + name: linux_x11_64_debug + path: bin/godot.x11.opt.debug.64 + + macos-editor: + runs-on: macos-latest + name: 🍎 macOS Editor + steps: + - name: Get dependencies + run: | + brew install scons yasm + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for macOS + run: | + scons p=osx arch=x86_64 target=release_debug -j8 + strip bin/godot.osx.opt.tools.x86_64 + + - name: Publish artifact + uses: actions/upload-artifact@v2 + with: + name: osx_editor.64 + path: bin/godot.osx.opt.tools.x86_64 + + macos-template: + runs-on: macos-latest + name: 🍎 macOS Template + steps: + - name: Get dependencies + run: | + brew install scons yasm + + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for macOS (release) + run: | + scons p=osx arch=x86_64 tools=no target=release -j8 + strip bin/godot.osx.opt.x86_64 + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: osx_release.64 + path: bin/godot.osx.opt.x86_64 + + - name: Build godot with ECMAScript module for macOS (debug) + run: | + scons p=osx arch=x86_64 tools=no target=release_debug -j8 + strip bin/godot.osx.opt.debug.x86_64 + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: osx_debug.64 + path: bin/godot.osx.opt.debug.x86_64 + + windows-editor: + runs-on: ubuntu-latest + name: 🏁 Windows Editor + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: windows-editor-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Build godot with ECMAScript module for Windows + run: | + update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix + scons p=windows bits=64 target=release_debug -j8 + strip bin/godot.windows.opt.tools.64.exe + + - name: Publish artifact + uses: actions/upload-artifact@v2 + with: + name: windows_64_editor + path: bin/godot.windows.opt.tools.64.exe + + windows-template: + runs-on: ubuntu-latest + name: 🏁 Windows Template + container: + # See how this image is built at https://github.com/Flux159/godot-docker + image: flux159/godot:1.0.0 + steps: + - name: Checkout Godot + uses: actions/checkout@v2 + with: + repository: 'godotengine/godot' + ref: ${{ env.GODOT_BASE_BRANCH }} + + - name: Checkout ECMAScript + uses: actions/checkout@v2 + with: + path: ${{github.workspace}}/modules/ECMAScript/ + + # Upload cache on completion and check it out now + - name: Load .scons_cache directory + id: windows-template-cache + uses: actions/cache@v2 + with: + path: ${{github.workspace}}/.scons_cache/ + key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + restore-keys: | + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} + ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} + ${{github.job}}-${{env.BASE_BRANCH}} + + - name: Setup MinGW + run: | + update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix + update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix + update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix + + - name: Build godot with ECMAScript module for Windows (release) + run: | + scons p=windows bits=64 tools=no target=release -j8 + strip bin/godot.windows.opt.64.exe + + - name: Publish artifact (release) + uses: actions/upload-artifact@v2 + with: + name: windows_64_release + path: bin/godot.windows.opt.64.exe + + - name: Build godot with ECMAScript module for Windows (debug) + run: | + scons p=windows bits=64 tools=no target=release_debug -j8 + strip bin/godot.windows.opt.debug.64.exe + + - name: Publish artifact (debug) + uses: actions/upload-artifact@v2 + with: + name: windows_64_debug + path: bin/godot.windows.opt.debug.64.exe \ No newline at end of file diff --git a/.github/workflows/html5.yml b/.github/workflows/html5.yml deleted file mode 100644 index 016dfbb1..00000000 --- a/.github/workflows/html5.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: 🌐 HTML5 Builds -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# Global Cache Settings -env: - GODOT_BASE_BRANCH: '3.2.2-stable' - BASE_BRANCH: master - SCONS_CACHE_LIMIT: 4096 - -jobs: - html5-template: - runs-on: ubuntu-latest - name: HTML5 Template - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # Upload cache on completion and check it out now - - name: Load .scons_cache directory - id: html5-template-cache - uses: actions/cache@v2 - with: - path: ${{github.workspace}}/.scons_cache/ - key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for HTML5 platform - shell: bash - run: | - /emsdk/emsdk activate latest - source /emsdk/emsdk_env.sh - scons p=javascript tools=no target=release -j8 - - - name: Publish artifact (release) - uses: actions/upload-artifact@v2 - with: - name: webassembly_release - path: bin/godot.javascript.opt.zip - - # - name: Publish artifact (debug) - # uses: actions/upload-artifact@v2 - # with: - # name: webassembly_debug - # path: bin/godot.javascript.opt.debug.zip \ No newline at end of file diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml deleted file mode 100644 index 9668760d..00000000 --- a/.github/workflows/ios.yml +++ /dev/null @@ -1,76 +0,0 @@ -name: 🍏 iOS Builds -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# Global Cache Settings -env: - GODOT_BASE_BRANCH: '3.2.2-stable' - BASE_BRANCH: master - SCONS_CACHE_LIMIT: 4096 - -jobs: - ios-template: - runs-on: macos-latest - name: iOS Template - steps: - - name: Get dependencies - run: | - brew install scons yasm - - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for iOS (release) - run: | - scons p=iphone arch=arm tools=no target=release -j8 - scons p=iphone arch=arm64 tools=no target=release -j8 - scons p=iphone arch=x86_64 tools=no target=release -j8 - lipo -create bin/libgodot.iphone.opt.arm.a bin/libgodot.iphone.opt.arm64.a bin/libgodot.iphone.opt.x86_64.a -output bin/libgodot.iphone.fat.a - lipo -create bin/libgodot_camera_module.iphone.opt.arm.a bin/libgodot_camera_module.iphone.opt.arm64.a bin/libgodot_camera_module.iphone.opt.x86_64.a -output bin/libgodot_camera_module.iphone.fat.a - lipo -create bin/libgodot_arkit_module.iphone.opt.arm.a bin/libgodot_arkit_module.iphone.opt.arm64.a bin/libgodot_arkit_module.iphone.opt.x86_64.a -output bin/libgodot_arkit_module.iphone.fat.a - - - name: Publish artifact (release) - uses: actions/upload-artifact@v2 - with: - name: iphone_release - path: bin/*.iphone.fat.a - - - name: Remove Previous Build - uses: JesseTG/rm@v1.0.2 - with: - path: ${{github.workspace}}/bin/ - - - name: Build godot with ECMAScript module for iOS (debug) - run: | - scons p=iphone arch=arm tools=no target=release_debug -j8 - scons p=iphone arch=arm64 tools=no target=release_debug -j8 - scons p=iphone arch=x86_64 tools=no target=release_debug -j8 - lipo -create bin/libgodot.iphone.opt.debug.arm.a bin/libgodot.iphone.opt.debug.arm64.a bin/libgodot.iphone.opt.debug.x86_64.a -output bin/libgodot.iphone.fat.a - lipo -create bin/libgodot_camera_module.iphone.opt.debug.arm.a bin/libgodot_camera_module.iphone.opt.debug.arm64.a bin/libgodot_camera_module.iphone.opt.debug.x86_64.a -output bin/libgodot_camera_module.iphone.fat.a - lipo -create bin/libgodot_arkit_module.iphone.opt.debug.arm.a bin/libgodot_arkit_module.iphone.opt.debug.arm64.a bin/libgodot_arkit_module.iphone.opt.debug.x86_64.a -output bin/libgodot_arkit_module.iphone.fat.a - - - name: Publish artifact (debug) - uses: actions/upload-artifact@v2 - with: - name: iphone_debug - path: bin/*.iphone.fat.a \ No newline at end of file diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml deleted file mode 100644 index 94bdb9c9..00000000 --- a/.github/workflows/linux.yml +++ /dev/null @@ -1,99 +0,0 @@ -name: 🐧 Linux Builds -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# Global Cache Settings -env: - GODOT_BASE_BRANCH: '3.2.2-stable' - BASE_BRANCH: master - SCONS_CACHE_LIMIT: 4096 - -jobs: - linux-editor: - runs-on: ubuntu-latest - name: Linux Editor - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for Linux - run: | - scons p=x11 target=release_debug -j8 - strip bin/godot.x11.opt.tools.64 - - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.x11.opt.tools.64 - path: bin/godot.x11.opt.tools.64 - - linux-template: - runs-on: ubuntu-latest - name: Linux Template - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for Linux - run: | - scons p=x11 bits=64 tools=no target=release -j8 - scons p=x11 bits=64 tools=no target=release_debug -j8 - strip bin/* - - - name: Publish artifact (release/64) - uses: actions/upload-artifact@v2 - with: - name: linux_x11_64_release - path: bin/godot.x11.opt.64 - - - name: Publish artifact (debug/64) - uses: actions/upload-artifact@v2 - with: - name: linux_x11_64_debug - path: bin/godot.x11.opt.debug.64 \ No newline at end of file diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml deleted file mode 100644 index 7df1e43c..00000000 --- a/.github/workflows/macos.yml +++ /dev/null @@ -1,105 +0,0 @@ -name: 🍎 macOS Builds -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# Global Cache Settings -env: - GODOT_BASE_BRANCH: '3.2.2-stable' - BASE_BRANCH: master - SCONS_CACHE_LIMIT: 4096 - -jobs: - macos-editor: - runs-on: macos-latest - name: macOS Editor - steps: - - name: Get dependencies - run: | - brew install scons yasm - - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for macOS - run: | - scons p=osx arch=x86_64 target=release_debug -j8 - strip bin/godot.osx.opt.tools.x86_64 - - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.javascript.osx.opt.tools.x86_64 - path: bin/godot.osx.opt.tools.x86_64 - - macos-template: - runs-on: macos-latest - name: macOS Template - steps: - - name: Get dependencies - run: | - brew install scons yasm - - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # 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.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for macOS (release) - run: | - scons p=osx arch=x86_64 tools=no target=release -j8 - strip bin/godot.osx.opt.x86_64 - - - name: Publish artifact (release) - uses: actions/upload-artifact@v2 - with: - name: osx_release.64 - path: bin/godot.osx.opt.x86_64 - - - name: Build godot with ECMAScript module for macOS (debug) - run: | - scons p=osx arch=x86_64 tools=no target=release_debug -j8 - strip bin/godot.osx.opt.debug.x86_64 - - - name: Publish artifact (debug) - uses: actions/upload-artifact@v2 - with: - name: osx_debug.64 - path: bin/godot.osx.opt.debug.x86_64 \ No newline at end of file diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 6dac8a5d..00000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,114 +0,0 @@ -name: 🏁 Windows Builds -# TODO: Investigate making this on tag instead of push since builds take so long -on: [push] - -# Global Cache Settings -env: - GODOT_BASE_BRANCH: '3.2.2-stable' - BASE_BRANCH: master - SCONS_CACHE_LIMIT: 4096 - -jobs: - windows-editor: - runs-on: ubuntu-latest - name: Windows Editor - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # Upload cache on completion and check it out now - - name: Load .scons_cache directory - id: windows-editor-cache - uses: actions/cache@v2 - with: - path: ${{github.workspace}}/.scons_cache/ - key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Build godot with ECMAScript module for Windows - run: | - update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix - update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix - scons p=windows bits=64 target=release_debug -j8 - strip bin/godot.windows.opt.tools.64.exe - - - name: Publish artifact - uses: actions/upload-artifact@v2 - with: - name: godot.javascript.windows.opt.tools.64.exe - path: bin/godot.windows.opt.tools.64.exe - - windows-template: - runs-on: ubuntu-latest - name: Windows Template - container: - # See how this image is built at https://github.com/Flux159/godot-docker - image: flux159/godot:1.0.0 - steps: - - name: Checkout Godot - uses: actions/checkout@v2 - with: - repository: 'godotengine/godot' - ref: ${{ env.GODOT_BASE_BRANCH }} - - - name: Checkout ECMAScript - uses: actions/checkout@v2 - with: - path: ${{github.workspace}}/modules/ECMAScript/ - - # Upload cache on completion and check it out now - - name: Load .scons_cache directory - id: windows-template-cache - uses: actions/cache@v2 - with: - path: ${{github.workspace}}/.scons_cache/ - key: ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{github.job}}-${{env.BASE_BRANCH}}-${{github.ref}} - ${{github.job}}-${{env.BASE_BRANCH}} - - - name: Setup MinGW - run: | - update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix - update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix - update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix - - - name: Build godot with ECMAScript module for Windows (release) - run: | - scons p=windows bits=64 tools=no target=release -j8 - strip bin/godot.windows.opt.64.exe - - - name: Publish artifact (release) - uses: actions/upload-artifact@v2 - with: - name: windows_64_release - path: bin/godot.windows.opt.64.exe - - - name: Build godot with ECMAScript module for Windows (debug) - run: | - scons p=windows bits=64 tools=no target=release_debug -j8 - strip bin/godot.windows.opt.debug.64.exe - - - name: Publish artifact (debug) - uses: actions/upload-artifact@v2 - with: - name: windows_64_debug - path: bin/godot.windows.opt.debug.64.exe \ No newline at end of file