CI: Add net_4_x-win32 to the BCL profiles to build

This commit is contained in:
Ignacio Etcheverry 2020-05-15 16:38:00 +02:00
parent 398c818d8c
commit 42a0caae0f
2 changed files with 41 additions and 37 deletions

View File

@ -23,8 +23,6 @@ env:
ANDROID_API: 21 ANDROID_API: 21
IOS_VERSION_MIN: 10.0 IOS_VERSION_MIN: 10.0
# NOTE: Underscore and brackets to workaround issue in nektos/act': https://github.com/nektos/act/issues/104
jobs: jobs:
linux: linux:
name: Linux name: Linux
@ -55,7 +53,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -71,7 +69,7 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure - name: Configure
@ -107,12 +105,14 @@ jobs:
run: | run: |
echo "::set-env name=MONO_SOURCE_ROOT::$GITHUB_WORKSPACE/mono_sources" echo "::set-env name=MONO_SOURCE_ROOT::$GITHUB_WORKSPACE/mono_sources"
- name: Install Dependencies (x86) - name: Install Dependencies (x86)
if: matrix.target == 'x86'
run: | run: |
sudo dpkg --add-architecture i386 sudo dpkg --add-architecture i386
sudo apt-get -y update sudo apt-get -y update
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
sudo apt-get -y install mingw-w64 sudo apt-get -y install mingw-w64
- name: Install Dependencies (x86_64) - name: Install Dependencies (x86_64)
if: matrix.target == 'x86_64'
run: | run: |
sudo apt-get -y update sudo apt-get -y update
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
@ -124,7 +124,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -140,7 +140,7 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure - name: Configure
@ -185,7 +185,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -201,7 +201,7 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure - name: Configure
@ -246,7 +246,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -262,7 +262,7 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure - name: Configure
@ -313,7 +313,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -329,7 +329,7 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Download LLVM artifact - name: Download LLVM artifact
@ -408,7 +408,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -424,7 +424,7 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure - name: Configure
@ -509,7 +509,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -538,7 +538,7 @@ jobs:
chmod 755 $HOME/mono-installs/llvm-${{ matrix.llvm }}/bin/* chmod 755 $HOME/mono-installs/llvm-${{ matrix.llvm }}/bin/*
mkdir -p $HOME/mono-configs/ && touch $HOME/mono-configs/.stamp-${{ matrix.llvm }}-make mkdir -p $HOME/mono-configs/ && touch $HOME/mono-configs/.stamp-${{ matrix.llvm }}-make
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure Runtime - name: Configure Runtime
@ -593,7 +593,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -613,7 +613,7 @@ jobs:
with: with:
version: ${{ env.EMSDK_VERSION }} version: ${{ env.EMSDK_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Configure - name: Configure
@ -659,27 +659,27 @@ jobs:
run: | run: |
echo "::set-env name=MONO_SOURCE_ROOT::$GITHUB_WORKSPACE/mono_sources" echo "::set-env name=MONO_SOURCE_ROOT::$GITHUB_WORKSPACE/mono_sources"
- name: Install Dependencies (Linux) - name: Install Dependencies (Linux)
if: steps.cache_llvm.outputs['cache-hit'] != 'true' && matrix.os == 'ubuntu-latest' if: steps.cache_llvm.outputs.cache-hit != 'true' && matrix.os == 'ubuntu-latest'
run: | run: |
sudo apt-get -y update sudo apt-get -y update
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
- name: Install Dependencies (Linux Targeting Windows) - name: Install Dependencies (Linux Targeting Windows)
if: steps.cache_llvm.outputs['cache-hit'] != 'true' && matrix.os == 'ubuntu-latest' && matrix.target == 'llvmwin64' if: steps.cache_llvm.outputs.cache-hit != 'true' && matrix.os == 'ubuntu-latest' && matrix.target == 'llvmwin64'
run: | run: |
sudo apt-get -y install mingw-w64 libz-mingw-w64-dev sudo apt-get -y install mingw-w64 libz-mingw-w64-dev
- name: Install Dependencies (macOS) - name: Install Dependencies (macOS)
if: steps.cache_llvm.outputs['cache-hit'] != 'true' && matrix.os == 'macos-latest' if: steps.cache_llvm.outputs.cache-hit != 'true' && matrix.os == 'macos-latest'
run: | run: |
brew install autoconf automake libtool pkg-config cmake python3 brew install autoconf automake libtool pkg-config cmake python3
- name: Cache Mono Sources - name: Cache Mono Sources
if: steps.cache_llvm.outputs['cache-hit'] != 'true' if: steps.cache_llvm.outputs.cache-hit != 'true'
id: cache_mono_sources id: cache_mono_sources
uses: actions/cache@v1 uses: actions/cache@v1
with: with:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' && steps.cache_llvm.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true' && steps.cache_llvm.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -687,21 +687,21 @@ jobs:
submodules: true submodules: true
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
- name: Checkout - name: Checkout
if: steps.cache_llvm.outputs['cache-hit'] != 'true' if: steps.cache_llvm.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
path: godot-mono-builds path: godot-mono-builds
- name: Setup Python - name: Setup Python
if: steps.cache_llvm.outputs['cache-hit'] != 'true' if: steps.cache_llvm.outputs.cache-hit != 'true'
uses: actions/setup-python@v1 uses: actions/setup-python@v1
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' && steps.cache_llvm.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true' && steps.cache_llvm.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Make - name: Make
if: steps.cache_llvm.outputs['cache-hit'] != 'true' if: steps.cache_llvm.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/llvm.py make --target=${{ matrix.target }} -j 2 python3 godot-mono-builds/llvm.py make --target=${{ matrix.target }} -j 2
- name: Upload LLVM Artifact - name: Upload LLVM Artifact
@ -721,13 +721,12 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
# desktop-win32 is disabled until build is fixed product: [desktop, desktop-win32, android, ios, wasm]
product: [desktop, android, ios, wasm]
steps: steps:
- name: Set Environment Variables - name: Set Environment Variables
run: | run: |
echo "::set-env name=MONO_SOURCE_ROOT::$GITHUB_WORKSPACE/mono_sources" echo "::set-env name=MONO_SOURCE_ROOT::$GITHUB_WORKSPACE/mono_sources"
- name: Install Dependencies (x86_64) - name: Install Dependencies
run: | run: |
sudo apt-get -y update sudo apt-get -y update
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
@ -738,7 +737,7 @@ jobs:
path: ${{ env.MONO_SOURCE_ROOT }} path: ${{ env.MONO_SOURCE_ROOT }}
key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources key: ${{ runner.os }}-${{ env.MONO_SHA }}-mono-sources
- name: Checkout Mono Sources - name: Checkout Mono Sources
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: mono/mono repository: mono/mono
@ -754,9 +753,13 @@ jobs:
with: with:
python-version: ${{ env.PYTHON_VERSION }} python-version: ${{ env.PYTHON_VERSION }}
- name: Patch Mono - name: Patch Mono
if: steps.cache_mono_sources.outputs['cache-hit'] != 'true' if: steps.cache_mono_sources.outputs.cache-hit != 'true'
run: run:
python3 godot-mono-builds/patch_mono.py python3 godot-mono-builds/patch_mono.py
- name: Make Desktop BCL for this Build Platform
if: matrix.product == 'desktop-win32'
run:
python3 godot-mono-builds/bcl.py make --product=desktop -j 2
- name: Make - name: Make
run: run:
python3 godot-mono-builds/bcl.py make --product=${{ matrix.product }} -j 2 python3 godot-mono-builds/bcl.py make --product=${{ matrix.product }} -j 2
@ -786,15 +789,15 @@ jobs:
steps: steps:
- name: Short SHA - name: Short SHA
id: short-sha id: short-sha
run: echo "::set-output name=sha8::$(echo ${GITHUB_SHA} | cut -c1-8)" run: echo "::set-output name=sha7::$(echo ${GITHUB_SHA} | cut -c1-7)"
- name: Create Release - name: Create Release
id: create_release id: create_release
uses: actions/create-release@v1 uses: actions/create-release@v1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:
tag_name: release-${{ steps.short-sha.outputs.sha8 }} tag_name: release-${{ steps.short-sha.outputs.sha7 }}
release_name: Release ${{ steps.short-sha.outputs.sha8 }} release_name: Release ${{ steps.short-sha.outputs.sha7 }}
body: | body: |
Mono: Mono:
- Branch: ${{ env.MONO_BRANCH }} - Branch: ${{ env.MONO_BRANCH }}
@ -814,14 +817,13 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
# bcl-desktop-win32 is disabled until build is fixed
artifact_name: [linux-x86, linux-x86_64, windows-x86, windows-x86_64, osx-x86_64, artifact_name: [linux-x86, linux-x86_64, windows-x86, windows-x86_64, osx-x86_64,
ios-arm64, ios-x86_64, ios-cross-arm64, ios-arm64, ios-x86_64, ios-cross-arm64,
android-armeabi-v7a, android-arm64-v8a, android-x86, android-x86_64, android-armeabi-v7a, android-arm64-v8a, android-x86, android-x86_64,
android-cross-arm, android-cross-arm64, android-cross-x86, android-cross-x86_64, android-cross-arm, android-cross-arm64, android-cross-x86, android-cross-x86_64,
android-cross-arm-win, android-cross-arm64-win, android-cross-x86-win, android-cross-x86_64-win, android-cross-arm-win, android-cross-arm64-win, android-cross-x86-win, android-cross-x86_64-win,
wasm-runtime, wasm-runtime-threads, wasm-runtime, wasm-runtime-threads,
bcl-desktop, bcl-android, bcl-ios, bcl-wasm] bcl-desktop, bcl-desktop-win32, bcl-android, bcl-ios, bcl-wasm]
steps: steps:
- name: Download Artifact - name: Download Artifact
uses: actions/download-artifact@v2 uses: actions/download-artifact@v2

View File

@ -123,6 +123,8 @@ _AOT cross-compilers for WebAssembly cannot be built with this script yet._
./bcl.py make --product=wasm ./bcl.py make --product=wasm
``` ```
**NOTE:** Building the Desktop BCL for the current system is required first to be able to build the Desktop BCL for Windows.
## Reference Assemblies ## Reference Assemblies
```bash ```bash