Skip to content

Check sync with Godot master API #522

Check sync with Godot master API

Check sync with Godot master API #522

# This periodically checks to see if we've drifted out of sync with master by running a compile from the latest,
# with only the gdsdecomp module enabled.
name: Check sync with Godot master API
# runs every day at midnight GMT
on:
schedule:
- cron: '0 0 * * *'
push:
paths:
- '.github/workflows/check_api_sync.yml'
workflow_dispatch:
env:
GODOT_BASE_BRANCH: master
GDSDECOMP_BASE_BRANCH: master
# Temp fix for check_api_sync, `disable_3d=yes` currently causes the build to fail on linux
SCONSFLAGS: debug_symbols=no warnings=extra optimize=size use_lto=yes disable_3d=no no_editor_splash=yes module_bmp_enabled=no module_bullet_enabled=no module_camera_enabled=no module_csg_enabled=no module_cvtt_enabled=no module_mbedtls_enabled=no module_tga_enabled=no module_enet_enabled=no module_mobile_vr_enabled=no module_upnp_enabled=no module_gdnative_enabled=no module_opensimplex_enabled=no module_pvr_enabled=no module_webm_enabled=no module_websocket_enabled=no module_gridmap_enabled=no module_xatlas_unwrap_enabled=no module_squish_enabled=no use_static_cpp=yes builtin_freetype=yes builtin_libpng=yes builtin_zlib=yes
jobs:
check:
name: "Test master API Sync"
runs-on: "ubuntu-20.04"
strategy:
fail-fast: false
matrix:
include:
- cache-name: api-sync-test
target: template_debug
platform: linuxbsd
tests: false
steps:
- name: checkout-godot
uses: actions/checkout@v3
with:
repository: godotengine/godot
# check out latest from master branch
ref: ${{env.GODOT_BASE_BRANCH}}
- name: checkout-gdsdecomp
uses: actions/checkout@v3
with:
path: modules/gdsdecomp
ref: ${{env.GDSDECOMP_BASE_BRANCH}}
# Install all packages (except scons)
- name: Configure dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential pkg-config libx11-dev libxcursor-dev \
libxinerama-dev libgl1-mesa-dev libglu-dev libasound2-dev libpulse-dev \
libudev-dev libxi-dev libxrandr-dev yasm clang-format-8
- name: Setup Godot build cache
uses: ./.github/actions/godot-cache
with:
cache-name: ${{ matrix.cache-name }}
continue-on-error: true
- name: Setup python and scons
uses: ./.github/actions/godot-deps
- name: Compilation
uses: ./.github/actions/godot-build
with:
sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }}
platform: ${{ matrix.platform }}
target: ${{ matrix.target }}
tools: ${{ matrix.tools }}
tests: ${{ matrix.tests }}
scons-cache-limit: 4096