[unity] Fixed broken Skeleton baking on 4.3 branch. Closes #3001. #350
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: spine-c bindings check | |
| on: | |
| push: | |
| branches: | |
| - '*' | |
| jobs: | |
| check-bindings: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: 'recursive' | |
| - name: Check if branch qualifies for bindings check | |
| run: | | |
| BRANCH_NAME=${GITHUB_REF#refs/heads/} | |
| echo "Branch: $BRANCH_NAME" | |
| # Strip -beta suffix and extract version | |
| VERSION=$(echo "$BRANCH_NAME" | sed 's/-beta$//') | |
| # Check if it's a version branch (starts with number) | |
| if ! echo "$VERSION" | grep -qE '^[0-9]+\.[0-9]+'; then | |
| echo "Not a version branch, skipping bindings check" | |
| exit 0 | |
| fi | |
| # Extract major.minor version | |
| MAJOR=$(echo "$VERSION" | cut -d. -f1) | |
| MINOR=$(echo "$VERSION" | cut -d. -f2) | |
| # Check if version >= 4.3 | |
| if [ "$MAJOR" -gt 4 ] || ([ "$MAJOR" -eq 4 ] && [ "$MINOR" -ge 3 ]); then | |
| echo "Branch qualifies for bindings check (version $MAJOR.$MINOR >= 4.3)" | |
| echo "SHOULD_CHECK=true" >> $GITHUB_ENV | |
| else | |
| echo "Branch version $MAJOR.$MINOR < 4.3, skipping bindings check" | |
| echo "SHOULD_CHECK=false" >> $GITHUB_ENV | |
| fi | |
| - name: Setup Node.js | |
| if: env.SHOULD_CHECK == 'true' | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| - name: Install build dependencies | |
| if: env.SHOULD_CHECK == 'true' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y build-essential cmake ninja-build | |
| - name: Setup clang-format | |
| run: ./formatters/setup-clang-format-docker.sh | |
| - name: Generate and compile spine-c bindings | |
| if: env.SHOULD_CHECK == 'true' | |
| run: | | |
| cd spine-c | |
| ./build.sh codegen | |
| ./build.sh clean | |
| - name: Check for changes in generated bindings | |
| if: env.SHOULD_CHECK == 'true' | |
| run: | | |
| if ! git diff --quiet; then | |
| echo "❌ Generated bindings have changed!" | |
| echo "This indicates that spine-cpp has been modified but spine-c bindings haven't been regenerated." | |
| echo "" | |
| echo "Changed files:" | |
| git diff --name-only | |
| echo "" | |
| echo "Please run './generate-all-bindings.sh' locally and commit the changes." | |
| exit 1 | |
| else | |
| echo "✅ Generated bindings are up to date" | |
| fi |