summaryrefslogtreecommitdiffstats
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2021-12-04 10:07:59 (GMT)
committerGitHub <noreply@github.com>2021-12-04 10:07:59 (GMT)
commitcee07b162843694e8166ad8715162d4d5886b50f (patch)
tree8028883828d0b2fa6fe372f2d8f263c6f315ca71 /.github/workflows/build.yml
parent135ecc3492cee259090fd4aaed9056c130cd2eba (diff)
downloadcpython-cee07b162843694e8166ad8715162d4d5886b50f.zip
cpython-cee07b162843694e8166ad8715162d4d5886b50f.tar.gz
cpython-cee07b162843694e8166ad8715162d4d5886b50f.tar.bz2
bpo-45695: Test out-of-tree builds on GHA (GH-29904)
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml21
1 files changed, 18 insertions, 3 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fe4b148..fbf7bb6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -179,13 +179,28 @@ jobs:
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
- name: Configure ccache action
uses: hendrikmuhs/ccache-action@v1
- - name: Configure CPython
- run: ./configure --with-pydebug --with-openssl=$OPENSSL_DIR
- - name: Build CPython
+ - name: Setup directory envs for out-of-tree builds
+ run: |
+ echo "CPYTHON_RO_SRCDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-ro-srcdir)" >> $GITHUB_ENV
+ echo "CPYTHON_BUILDDIR=$(realpath -m ${GITHUB_WORKSPACE}/../cpython-builddir)" >> $GITHUB_ENV
+ - name: Create directories for read-only out-of-tree builds
+ run: mkdir -p $CPYTHON_RO_SRCDIR $CPYTHON_BUILDDIR
+ - name: Bind mount sources read-only
+ run: sudo mount --bind -o ro $GITHUB_WORKSPACE $CPYTHON_RO_SRCDIR
+ - name: Configure CPython out-of-tree
+ working-directory: ${{ env.CPYTHON_BUILDDIR }}
+ run: ../cpython-ro-srcdir/configure --with-pydebug --with-openssl=$OPENSSL_DIR
+ - name: Build CPython out-of-tree
+ working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: make -j4
- name: Display build info
+ working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: make pythoninfo
+ - name: Remount sources writable for tests
+ # some tests write to srcdir, lack of pyc files slows down testing
+ run: sudo mount $CPYTHON_RO_SRCDIR -oremount,rw
- name: Tests
+ working-directory: ${{ env.CPYTHON_BUILDDIR }}
run: xvfb-run make buildbottest TESTOPTS="-j4 -uall,-cpu"
build_ubuntu_ssltests: