Compare commits

..

8 Commits

Author SHA1 Message Date
Wilson E. Alvarez b4d58b9dca
Merge 8f684f4169 into bc2c4a26ac 2024-05-25 21:19:59 -07:00
Serhii Snitsaruk bc2c4a26ac
GHA: Restore toolchain links
Toolchain contents should be cached now.
2024-05-25 16:07:00 +02:00
Serhii Snitsaruk 83214fc93b
GHA: Temporarily change toolchain link while tuxfamily.org is down (32-bit) 2024-05-25 15:05:34 +02:00
Serhii Snitsaruk e062669cf7
GHA: Temporarily change toolchain link while tuxfamily.org is down 2024-05-25 14:05:15 +02:00
Serhii Snitsaruk 2e94bf8bf2
Merge pull request #116 from limbonaut/gha-import-files
GHA: Generate .import files for GDExtension icons
2024-05-25 14:01:16 +02:00
Serhii Snitsaruk e8816091e6
GHA: Verify toolchain checksum 2024-05-25 13:33:48 +02:00
Serhii Snitsaruk fc1b99a5b1
GHA: Action that downloads & caches Linux toolchain
TuxFamily is often down lately, maybe caching could help.
2024-05-25 13:33:42 +02:00
Serhii Snitsaruk 04300e5222
GHA: Generate .import files for GDExtension icons 2024-05-22 22:33:21 +02:00
4 changed files with 107 additions and 52 deletions

View File

@ -0,0 +1,47 @@
name: Setup Linux toolchain
inputs:
arch:
required: true
runs:
using: "composite"
steps:
- name: Set up environment
shell: bash
run: |
# ! Settings:
TOOLCHAIN_64_URL=https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
TOOLCHAIN_64_SHA=16c8302fcb676c1f0fb9df73d6cff250ba1f4286
TOOLCHAIN_32_URL=https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
TOOLCHAIN_32_SHA=6171652abc54ef219e5187bc53660ee4e2f796f4
# ! Export variables:
if [[ "${{ inputs.arch }}" == "x86_64" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_64_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_64_SHA}" >> "$GITHUB_ENV"
elif [[ "${{ inputs.arch }}" == "x86_32" ]]; then
echo "TOOLCHAIN_URL=${TOOLCHAIN_32_URL}" >> "$GITHUB_ENV"
echo "TOOLCHAIN_SHA=${TOOLCHAIN_32_SHA}" >> "$GITHUB_ENV"
fi
- name: Cache buildroot
id: cache-buildroot
uses: actions/cache@v4
with:
path: buildroot
key: ${{env.TOOLCHAIN_SHA}}
- name: Set up buildroot
if: steps.cache-buildroot.outputs.cache-hit != 'true'
shell: bash
run: |
mkdir buildroot
wget ${TOOLCHAIN_URL} -O buildroot/buildroot.tar.bz2
cd buildroot
echo "${TOOLCHAIN_SHA} buildroot.tar.bz2"
echo "${TOOLCHAIN_SHA} buildroot.tar.bz2" | shasum --check
tar -xjf buildroot.tar.bz2 --strip-components=1
ls -l
rm buildroot.tar.bz2
./relocate-sdk.sh
cd ..

View File

@ -36,6 +36,7 @@ env:
SCONSFLAGS: dev_build=no debug_symbols=no SCONSFLAGS: dev_build=no debug_symbols=no
EM_VERSION: 3.1.45 EM_VERSION: 3.1.45
EM_CACHE_FOLDER: "emsdk-cache" EM_CACHE_FOLDER: "emsdk-cache"
GODOT_VERSION: 4.2-stable
jobs: jobs:
gdextension: gdextension:
@ -132,25 +133,11 @@ jobs:
id: output-name-prefix id: output-name-prefix
run: echo "name-prefix=${NAME_PREFIX}" >> $GITHUB_OUTPUT run: echo "name-prefix=${NAME_PREFIX}" >> $GITHUB_OUTPUT
- name: Set up Linux buildroot x86_64 - name: Setup Linux toolchain
if: matrix.opts.platform == 'linux' && matrix.opts.arch == 'x86_64' if: matrix.opts.platform == 'linux'
run: | uses: ./limboai/.github/actions/setup-linux-toolchain
wget https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 with:
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 arch: ${{matrix.opts.arch}}
mv x86_64-godot-linux-gnu_sdk-buildroot buildroot
cd buildroot
./relocate-sdk.sh
cd ..
- name: Set up Linux buildroot x86_32
if: matrix.opts.platform == 'linux' && matrix.opts.arch == 'x86_32'
run: |
wget https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
tar -xjf i686-godot-linux-gnu_sdk-buildroot.tar.bz2
mv i686-godot-linux-gnu_sdk-buildroot buildroot
cd buildroot
./relocate-sdk.sh
cd ..
- name: Set up Python 3.x - name: Set up Python 3.x
if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos' if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos'
@ -251,8 +238,8 @@ jobs:
name: ${{ env.NAME }} name: ${{ env.NAME }}
path: out/* path: out/*
merge-artifacts: package-extension:
name: Merge artifacts name: 📦 Package extension
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: gdextension needs: gdextension
@ -263,3 +250,47 @@ jobs:
name: ${{needs.gdextension.outputs.name-prefix}} name: ${{needs.gdextension.outputs.name-prefix}}
pattern: tmp-gdextension.* pattern: tmp-gdextension.*
delete-merged: true delete-merged: true
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: ${{needs.gdextension.outputs.name-prefix}}
path: out/
- name: Setup Godot
shell: bash
run: |
echo "Downloading Godot ${GODOT_VERSION}"
mkdir bin
cd bin
wget "https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}/Godot_v${GODOT_VERSION}_linux.x86_64.zip" -O godot.zip
unzip godot.zip
rm godot.zip
mv Godot_* godot
chmod u+x godot
ls -l
cd ..
./bin/godot --version
- name: Generate icon .import files
shell: bash
run: |
touch out/project.godot
timeout 20s ./bin/godot --headless --editor --path ./out/ || /bin/true
rm out/project.godot
rm -rf out/.godot/
- name: Change editor scale import settings
shell: bash
run: |
echo "--- Listing icons dir:"
ls out/addons/limboai/icons/
echo "--- (end of listing)"
sed -i 's|editor/scale_with_editor_scale=false|editor/scale_with_editor_scale=true|' out/addons/limboai/icons/*.import
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{needs.gdextension.outputs.name-prefix}}
path: out/*
overwrite: true

View File

@ -139,27 +139,10 @@ jobs:
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables. # Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
- uses: ./modules/limboai/.github/actions/init-version - uses: ./modules/limboai/.github/actions/init-version
# About sed see: https://github.com/godotengine/buildroot/issues/6 - name: Set up Linux toolchain
- name: Set up buildroot x86_64 uses: ./modules/limboai/.github/actions/setup-linux-toolchain
if: matrix.opts.arch == 'x86_64' with:
run: | arch: ${{matrix.opts.arch}}
wget https://download.tuxfamily.org/godotengine/toolchains/linux/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
mv x86_64-godot-linux-gnu_sdk-buildroot buildroot
cd buildroot
sed -i x86_64-godot-linux-gnu/sysroot/usr/lib/pkgconfig/dbus-1.pc -e "s@/lib@/lib64@g"
./relocate-sdk.sh
cd ..
- name: Set up buildroot x86_32
if: matrix.opts.arch == 'x86_32'
run: |
wget https://download.tuxfamily.org/godotengine/toolchains/linux/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
tar -xjf i686-godot-linux-gnu_sdk-buildroot.tar.bz2
mv i686-godot-linux-gnu_sdk-buildroot buildroot
cd buildroot
./relocate-sdk.sh
cd ..
- name: Set up scons cache - name: Set up scons cache
uses: actions/cache@v4 uses: actions/cache@v4

View File

@ -52,16 +52,10 @@ jobs:
with: with:
path: modules/limboai path: modules/limboai
# About sed see: https://github.com/godotengine/buildroot/issues/6 - name: Set up Linux toolchain
- name: Set up buildroot x86_64 uses: ./modules/limboai/.github/actions/setup-linux-toolchain
run: | with:
wget https://download.tuxfamily.org/godotengine/toolchains/linux/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2 arch: x86_64
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
mv x86_64-godot-linux-gnu_sdk-buildroot buildroot
cd buildroot
sed -i x86_64-godot-linux-gnu/sysroot/usr/lib/pkgconfig/dbus-1.pc -e "s@/lib@/lib64@g"
./relocate-sdk.sh
cd ..
- name: Set up scons cache - name: Set up scons cache
uses: actions/cache@v4 uses: actions/cache@v4