]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-42212: Check if generated files are up-to-date in GitHub Actions (GH-23042)
authorFilipe Laíns <lains@archlinux.org>
Fri, 20 Nov 2020 14:14:16 +0000 (14:14 +0000)
committerGitHub <noreply@github.com>
Fri, 20 Nov 2020 14:14:16 +0000 (15:14 +0100)
See https: //github.com/python/core-workflow/issues/380

Signed-off-by: Filipe Laíns <lains@archlinux.org>
.github/workflows/build.yml

index c9b568002f7b433a1e24e46be5d91314b0184851..c1a017165665f67506971117948188a3eee72312 100644 (file)
@@ -47,6 +47,34 @@ jobs:
             # https://github.com/python/core-workflow/issues/373
             git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc)' && echo '::set-output name=run_tests::true' || true
           fi
+
+  check_generated_files:
+    name: 'Check if generated files are up to date'
+    runs-on: ubuntu-latest
+    needs: check_source
+    if: needs.check_source.outputs.run_tests == 'true'
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-python@v2
+      - name: Install Dependencies
+        run: sudo ./.github/workflows/posix-deps-apt.sh
+      - name: Build CPython
+        run: |
+          ./configure --with-pydebug
+          make -j4 regen-all
+      - name: Check for changes
+        run: |
+          changes=$(git status --porcelain)
+          # Check for changes in regenerated files
+          if ! test -z "$changes"
+          then
+            echo "Generated files not up to date. Perhaps you forgot to run make regen-all ;)"
+            echo "$changes"
+            exit 1
+          fi
+      - name: Check exported libpython symbols
+        run: make smelly
+
   build_win32:
     name: 'Windows (x86)'
     runs-on: windows-latest