mirror of
https://github.com/Relintai/godot-mono-builds.git
synced 2025-01-27 15:39:26 +01:00
Merge pull request #75 from akien-mga/ci-use-linux-sdk
CI: Use our own Linux SDK to maximize glibc compatibilty
This commit is contained in:
commit
5299efd80c
78
.github/workflows/build.yml
vendored
78
.github/workflows/build.yml
vendored
@ -21,9 +21,6 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- 'release/**'
|
- 'release/**'
|
||||||
|
|
||||||
# Use ubuntu-18.04 for Linux for the best glibc compatibility.
|
|
||||||
# Use ubuntu-latest for other platforms.
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Use SHA or tag instead of the branch for caching purposes.
|
# Use SHA or tag instead of the branch for caching purposes.
|
||||||
MONO_TAG: mono-6.12.0.182
|
MONO_TAG: mono-6.12.0.182
|
||||||
@ -36,7 +33,7 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
name: Linux
|
name: Linux
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
target: [x86, x86_64]
|
target: [x86, x86_64]
|
||||||
@ -44,18 +41,36 @@ jobs:
|
|||||||
- name: Set Environment Variables
|
- name: Set Environment Variables
|
||||||
run: |
|
run: |
|
||||||
echo "MONO_SOURCE_ROOT=$GITHUB_WORKSPACE/mono_sources" >> $GITHUB_ENV
|
echo "MONO_SOURCE_ROOT=$GITHUB_WORKSPACE/mono_sources" >> $GITHUB_ENV
|
||||||
- name: Install Dependencies (x86)
|
- name: Install Dependencies
|
||||||
if: matrix.target == 'x86'
|
|
||||||
run: |
|
run: |
|
||||||
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 gettext cmake python3 curl
|
||||||
sudo apt-get -y install gcc-multilib g++-multilib zlib1g-dev:i386
|
- name: Install Linux SDK (x86_64)
|
||||||
- name: Install Dependencies (x86_64)
|
|
||||||
if: matrix.target == 'x86_64'
|
if: matrix.target == 'x86_64'
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get -y update
|
cd /home/runner
|
||||||
sudo apt-get -y install git autoconf libtool libtool-bin automake build-essential gettext cmake python3 curl
|
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
cd x86_64-godot-linux-gnu_sdk-buildroot
|
||||||
|
./relocate-sdk.sh
|
||||||
|
cd bin
|
||||||
|
rm -f {aclocal*,auto*,libtool*,m4}
|
||||||
|
for file in x86_64-godot-*; do alias=$(echo $file | sed "s/godot-//"); ln -s $file $alias; done
|
||||||
|
echo "PATH=/home/runner/x86_64-godot-linux-gnu_sdk-buildroot/bin:${PATH}" >> $GITHUB_ENV
|
||||||
|
- name: Install Linux SDK (x86)
|
||||||
|
if: matrix.target == 'x86'
|
||||||
|
run: |
|
||||||
|
cd /home/runner
|
||||||
|
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
tar xf i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
rm -f i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
cd i686-godot-linux-gnu_sdk-buildroot
|
||||||
|
./relocate-sdk.sh
|
||||||
|
cd bin
|
||||||
|
rm -f {aclocal*,auto*,libtool*,m4}
|
||||||
|
for file in i686-godot-*; do alias=$(echo $file | sed "s/godot-//"); ln -s $file $alias; done
|
||||||
|
echo "PATH=/home/runner/i686-godot-linux-gnu_sdk-buildroot/bin:${PATH}" >> $GITHUB_ENV
|
||||||
- name: Cache Mono Sources
|
- name: Cache Mono Sources
|
||||||
id: cache_mono_sources
|
id: cache_mono_sources
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
@ -543,15 +558,9 @@ jobs:
|
|||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-18.04, ubuntu-latest, macos-latest]
|
os: [ubuntu-latest, macos-latest]
|
||||||
target: [llvm64, llvmwin64]
|
target: [llvm64, llvmwin64]
|
||||||
exclude:
|
exclude:
|
||||||
# Ubuntu 18.04 is only needed for the Linux build
|
|
||||||
- os: ubuntu-18.04
|
|
||||||
target: llvmwin64
|
|
||||||
# Ubuntu latest is only needed for the Windows build
|
|
||||||
- os: ubuntu-latest
|
|
||||||
target: llvm64
|
|
||||||
# We already build for Windows on ubuntu-latest
|
# We already build for Windows on ubuntu-latest
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
target: llvmwin64
|
target: llvmwin64
|
||||||
@ -569,7 +578,20 @@ jobs:
|
|||||||
if: steps.cache_llvm.outputs.cache-hit != 'true' && runner.os == 'Linux'
|
if: steps.cache_llvm.outputs.cache-hit != 'true' && runner.os == 'Linux'
|
||||||
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 gettext cmake python3 curl
|
||||||
|
- name: Install Linux SDK (x86_64)
|
||||||
|
if: steps.cache_llvm.outputs.cache-hit != 'true' && runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
cd /home/runner
|
||||||
|
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
cd x86_64-godot-linux-gnu_sdk-buildroot
|
||||||
|
./relocate-sdk.sh
|
||||||
|
cd bin
|
||||||
|
rm -f {aclocal*,auto*,libtool*,m4}
|
||||||
|
for file in x86_64-godot-*; do alias=$(echo $file | sed "s/godot-//"); ln -s $file $alias; done
|
||||||
|
echo "PATH=/home/runner/x86_64-godot-linux-gnu_sdk-buildroot/bin:${PATH}" >> $GITHUB_ENV
|
||||||
- name: Install Dependencies (Linux Targeting Windows)
|
- name: Install Dependencies (Linux Targeting Windows)
|
||||||
if: steps.cache_llvm.outputs.cache-hit != 'true' && runner.os == 'Linux' && matrix.target == 'llvmwin64'
|
if: steps.cache_llvm.outputs.cache-hit != 'true' && runner.os == 'Linux' && matrix.target == 'llvmwin64'
|
||||||
run: |
|
run: |
|
||||||
@ -631,7 +653,7 @@ jobs:
|
|||||||
|
|
||||||
bcl:
|
bcl:
|
||||||
name: BCL
|
name: BCL
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
product: [desktop, desktop-win32, android, ios, wasm]
|
product: [desktop, desktop-win32, android, ios, wasm]
|
||||||
@ -642,7 +664,19 @@ jobs:
|
|||||||
- name: Install Dependencies
|
- 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 gettext cmake python3 curl
|
||||||
|
- name: Install Linux SDK (x86_64)
|
||||||
|
run: |
|
||||||
|
cd /home/runner
|
||||||
|
curl -LO https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
tar xf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
rm -f x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
cd x86_64-godot-linux-gnu_sdk-buildroot
|
||||||
|
./relocate-sdk.sh
|
||||||
|
cd bin
|
||||||
|
rm -f {aclocal*,auto*,libtool*,m4}
|
||||||
|
for file in x86_64-godot-*; do alias=$(echo $file | sed "s/godot-//"); ln -s $file $alias; done
|
||||||
|
echo "PATH=/home/runner/x86_64-godot-linux-gnu_sdk-buildroot/bin:${PATH}" >> $GITHUB_ENV
|
||||||
- name: Cache Mono Sources
|
- name: Cache Mono Sources
|
||||||
id: cache_mono_sources
|
id: cache_mono_sources
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v3
|
||||||
|
Loading…
Reference in New Issue
Block a user