[Python-checkins] bpo-42212: Check if generated files are up-to-date in GitHub Actions (GH-23042)

vstinner webhook-mailer at python.org
Fri Nov 20 09:14:25 EST 2020


https://github.com/python/cpython/commit/d20b7ed9c1fabac3fdebb7ec362fe4f022a54639
commit: d20b7ed9c1fabac3fdebb7ec362fe4f022a54639
branch: master
author: Filipe Laíns <lains at archlinux.org>
committer: vstinner <vstinner at python.org>
date: 2020-11-20T15:14:16+01:00
summary:

bpo-42212: Check if generated files are up-to-date in GitHub Actions (GH-23042)

See https: //github.com/python/core-workflow/issues/380

Signed-off-by: Filipe Laíns <lains at archlinux.org>

files:
M .github/workflows/build.yml

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index c9b568002f7b4..c1a017165665f 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -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 at v2
+      - uses: actions/setup-python at 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



More information about the Python-checkins mailing list