summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorDonghee Na <donghee.na@python.org>2024-10-20 07:55:26 (GMT)
committerGitHub <noreply@github.com>2024-10-20 07:55:26 (GMT)
commited24702bd0f9925908ce48584c31dfad732208b2 (patch)
tree782b8428cbd18e8c48cc68f55334765716ea99bd /.github
parente924bb667a19ee1812d6c7592a37dd37346dda04 (diff)
downloadcpython-ed24702bd0f9925908ce48584c31dfad732208b2.zip
cpython-ed24702bd0f9925908ce48584c31dfad732208b2.tar.gz
cpython-ed24702bd0f9925908ce48584c31dfad732208b2.tar.bz2
gh-125741: Update check_generated_files CI to use our published container image (gh-125744)
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build.yml53
1 files changed, 44 insertions, 9 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ec7904c..a72d4a1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -40,6 +40,50 @@ jobs:
if: fromJSON(needs.check_source.outputs.run-docs)
uses: ./.github/workflows/reusable-docs.yml
+ check_autoconf_regen:
+ name: 'Check if Autoconf files are up to date'
+ # Don't use ubuntu-latest but a specific version to make the job
+ # reproducible: to get the same tools versions (autoconf, aclocal, ...)
+ runs-on: ubuntu-24.04
+ container:
+ image: ghcr.io/python/autoconf:2024.10.11.11293396815
+ timeout-minutes: 60
+ needs: check_source
+ if: needs.check_source.outputs.run_tests == 'true'
+ steps:
+ - name: Install Git
+ run: |
+ apt install git -yq
+ git config --global --add safe.directory "$GITHUB_WORKSPACE"
+ - uses: actions/checkout@v4
+ with:
+ fetch-depth: 1
+ - name: Runner image version
+ run: echo "IMAGE_VERSION=${ImageVersion}" >> $GITHUB_ENV
+ - name: Check Autoconf and aclocal versions
+ run: |
+ grep "Generated by GNU Autoconf 2.71" configure
+ grep "aclocal 1.16.5" aclocal.m4
+ grep -q "runstatedir" configure
+ grep -q "PKG_PROG_PKG_CONFIG" aclocal.m4
+ - name: Regenerate autoconf files
+ # Same command used by Tools/build/regen-configure.sh ($AUTORECONF)
+ run: autoreconf -ivf -Werror
+ - name: Check for changes
+ run: |
+ git add -u
+ changes=$(git status --porcelain)
+ # Check for changes in regenerated files
+ if test -n "$changes"; then
+ echo "Generated files not up to date."
+ echo "Perhaps you forgot to run make regen-all or build.bat --regen. ;)"
+ echo "configure files must be regenerated with a specific version of autoconf."
+ echo "$changes"
+ echo ""
+ git diff --staged || true
+ exit 1
+ fi
+
check_generated_files:
name: 'Check if generated files are up to date'
# Don't use ubuntu-latest but a specific version to make the job
@@ -69,19 +113,10 @@ jobs:
uses: hendrikmuhs/ccache-action@v1.2
with:
save: false
- - name: Check Autoconf and aclocal versions
- run: |
- grep "Generated by GNU Autoconf 2.71" configure
- grep "aclocal 1.16.5" aclocal.m4
- grep -q "runstatedir" configure
- grep -q "PKG_PROG_PKG_CONFIG" aclocal.m4
- name: Configure CPython
run: |
# Build Python with the libpython dynamic library
./configure --config-cache --with-pydebug --enable-shared
- - name: Regenerate autoconf files
- # Same command used by Tools/build/regen-configure.sh ($AUTORECONF)
- run: autoreconf -ivf -Werror
- name: Build CPython
run: |
make -j4 regen-all