SDL: ci: check versioning on ci

From cf4049cfde6b9a83acb64b6d1889267525ef63d9 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Wed, 25 Sep 2024 19:16:15 +0200
Subject: [PATCH] ci: check versioning on ci

---
 .github/workflows/create-test-plan.py |  5 +++++
 .github/workflows/generic.yml         | 10 ++++++++++
 2 files changed, 15 insertions(+)

diff --git a/.github/workflows/create-test-plan.py b/.github/workflows/create-test-plan.py
index 4751383b34931..732d540ae4307 100755
--- a/.github/workflows/create-test-plan.py
+++ b/.github/workflows/create-test-plan.py
@@ -216,6 +216,7 @@ class JobDetails:
     cpactions_setup_cmd: str = ""
     cpactions_install_cmd: str = ""
     setup_vita_gles_type: str = ""
+    check_sources: bool = False
 
     def to_workflow(self, enable_artifacts: bool) -> dict[str, str|bool]:
         data = {
@@ -278,6 +279,7 @@ def to_workflow(self, enable_artifacts: bool) -> dict[str, str|bool]:
             "cpactions-install-cmd": self.cpactions_install_cmd,
             "setup-vita-gles-type": self.setup_vita_gles_type,
             "setup-gdk-folder": self.setup_gdk_folder,
+            "check-sources": self.check_sources,
         }
         return {k: v for k, v in data.items() if v != ""}
 
@@ -694,6 +696,9 @@ def spec_to_job(spec: JobSpec, key: str, trackmem_symbol_names: bool) -> JobDeta
         case _:
             raise ValueError(f"Unsupported platform={spec.platform}")
 
+    if "ubuntu" in spec.name.lower():
+        job.check_sources = True
+
     if not build_parallel:
         job.cmake_build_arguments.append("-j1")
     if job.cflags:
diff --git a/.github/workflows/generic.yml b/.github/workflows/generic.yml
index 623017ac9bb99..b408d5f33c10b 100644
--- a/.github/workflows/generic.yml
+++ b/.github/workflows/generic.yml
@@ -347,6 +347,16 @@ jobs:
         if: ${{ matrix.platform.xcode-sdk != '' }}
         run: |
           xcodebuild -project Xcode/SDL/SDL.xcodeproj -target SDL3 -configuration Release -sdk ${{ matrix.platform.xcode-sdk }} clean build
+      - name: 'Setup Python'
+        uses: 'actions/setup-python@main'
+        if: ${{ matrix.platform.check-sources }}
+        with:
+          python-version: '3.x'
+      - name: 'Check Sources'
+        if: ${{ matrix.platform.check-sources }}
+        run: |
+          set -e
+          build-scripts/test-versioning.sh
       - name: 'Upload binary package'
         uses: actions/upload-artifact@v4
         if: ${{ always() && matrix.platform.artifact != '' && (steps.package.outcome == 'success' || steps.cpactions.outcome == 'success') && (matrix.platform.enable-artifacts || steps.tests.outcome == 'failure') }}