Files
godot-git-plugin/.github/workflows/build.yml
Rémi Verschelde 2a4c781e86 Misc fixes and cleanup
- Remove the `demo` project which isn't really useful.
  * Instead the `addons` subfolder is made top-level and that's where stuff gets written.
- Update the README following recent PRs (#191, #199) as OpenSSL is now compiled from source for all platforms.
  * Also remove obsolete `build_openssl_universal_macos.sh` script.
- Remove the bogus `plugin.cfg` which isn't necessary, and was confusing users who tried to enable it.
  * Fixes #267.
- Bump min SCons version to 3.1.2 and Python to 3.6.
- Bump `compatibility_minimum` to `4.2.0` following #196.
- Remove some code in `godot-git-plugin/SCsub` that seems redundant with `godot-cpp` config.
- Remove unnecessary `.exp` and `.lib` files in Windows artifact, rename its folder to `windows`.
- Remove `export-ignore`s in `.gitattributes`, they're incomplete and not actually doing anything usable.
- Fix artifacts URL handling in `release.sh`, make it executable.
- CI: Update clang-format check to version 18.
2025-05-28 22:52:21 +02:00

95 lines
2.8 KiB
YAML

name: C/C++ CI
on: [push, pull_request]
env:
# Only used for the cache key. Increment version to force clean build.
GODOT_BASE_BRANCH: master
SCONS_CACHE: ${{ github.workspace }}/.scons-cache/
jobs:
linux-x64:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Godot build cache
uses: ./godot-cpp/.github/actions/godot-cache
with:
cache-name: linux-x86_64
continue-on-error: true
- name: Build for Linux editor x86_64
run: |
pip3 install scons
scons platform=linux arch=x86_64 target=editor generate_bindings=yes
ldd addons/godot-git-plugin/linux/*.so
- name: Prepare artifact
run: |
mkdir out
mv addons out/
- uses: actions/upload-artifact@v4
with:
name: libgit_plugin.linux.x86_64.editor.so-${{ github.sha }}
if-no-files-found: error
path: |
out/
windows-x64:
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Godot build cache
uses: ./godot-cpp/.github/actions/godot-cache
with:
cache-name: windows-x86_64
- uses: ilammy/msvc-dev-cmd@v1 # For dumpbin.
- uses: ilammy/setup-nasm@v1
- name: Build for Windows editor x86_64
shell: powershell
run: |
pip3 install scons
scons platform=windows arch=x86_64 target=editor generate_bindings=yes
dumpbin /dependents .\addons\godot-git-plugin\windows\*.dll
- name: Prepare artifact
shell: bash
run: |
# Not needed to use the plugin.
rm -f addons/godot-git-plugin/windows/*.{exp,lib}
mkdir out
mv addons out/
- uses: actions/upload-artifact@v4
with:
name: libgit_plugin.windows.x86_64.editor.dll-${{ github.sha }}
if-no-files-found: error
path: |
out/
macos-universal:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Godot build cache
uses: ./godot-cpp/.github/actions/godot-cache
with:
cache-name: macos-universal
- name: Build for macOS editor universal
run: |
pip install scons
scons platform=macos arch=universal target=editor generate_bindings=yes macos_deployment_target=10.13
otool -L addons/godot-git-plugin/macos/*.dylib
- name: Prepare artifact
run: |
mkdir out
mv addons out/
- uses: actions/upload-artifact@v4
with:
name: libgit_plugin.macos.universal.editor.dylib-${{ github.sha }}
if-no-files-found: error
path: |
out/