12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- name: 🪲 Godot CPP
- on:
- workflow_call:
- # Global Settings
- env:
- # Used for the cache key, and godot-cpp checkout. Add version suffix to force clean build.
- GODOT_BASE_BRANCH: '4.1'
- concurrency:
- group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-cpp-tests
- cancel-in-progress: true
- jobs:
- godot-cpp-tests:
- runs-on: "ubuntu-20.04"
- name: "Build and test Godot CPP"
- steps:
- - uses: actions/checkout@v4
- - name: Setup python and scons
- uses: ./.github/actions/godot-deps
- # Checkout godot-cpp
- - name: Checkout godot-cpp
- uses: actions/checkout@v4
- with:
- repository: godotengine/godot-cpp
- ref: ${{ env.GODOT_BASE_BRANCH }}
- submodules: 'recursive'
- path: 'godot-cpp'
- # Download generated API dump
- - name: Download GDExtension interface and API dump
- uses: ./.github/actions/download-artifact
- with:
- name: 'godot-api-dump'
- path: './godot-api'
- # Extract and override existing files with generated files
- - name: Extract GDExtension interface and API dump
- run: |
- cp -f godot-api/gdextension_interface.h godot-cpp/gdextension/
- cp -f godot-api/extension_api.json godot-cpp/gdextension/
- # TODO: Add caching to the scons build and store it for CI via the godot-cache
- # action.
- # Build godot-cpp test extension
- - name: Build godot-cpp test extension
- run: |
- cd godot-cpp/test
- scons target=template_debug dev_build=yes
- cd ../..
|