Skip to content

Commit be93a4a

Browse files
miss-islingtonStanFromIrelandhugovk
authored
[3.15] gh-110793: Add CI job that runs tests with an installed build (GH-152664) (#155483)
Co-authored-by: Stan Ulbrych <stan@python.org> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
1 parent a1ab3b0 commit be93a4a

2 files changed

Lines changed: 52 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,12 @@ jobs:
308308
os: ${{ matrix.os }}
309309
test-opts: ${{ matrix.test-opts || '' }}
310310

311+
build-ubuntu-installed:
312+
name: 'Ubuntu (installed)'
313+
needs: build-context
314+
if: needs.build-context.outputs.run-ubuntu == 'true'
315+
uses: ./.github/workflows/reusable-install.yml
316+
311317
build-ubuntu-ssltests:
312318
name: 'Ubuntu SSL tests'
313319
runs-on: ${{ matrix.os }}
@@ -700,6 +706,7 @@ jobs:
700706
- build-windows-msi
701707
- build-macos
702708
- build-ubuntu
709+
- build-ubuntu-installed
703710
- build-ubuntu-ssltests
704711
- build-ios
705712
- build-emscripten
@@ -750,6 +757,7 @@ jobs:
750757
!fromJSON(needs.build-context.outputs.run-ubuntu)
751758
&& '
752759
build-ubuntu,
760+
build-ubuntu-installed,
753761
build-ubuntu-ssltests,
754762
test-hypothesis,
755763
build-asan,
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Reusable Ubuntu (installed)
2+
3+
on:
4+
workflow_call:
5+
6+
permissions:
7+
contents: read
8+
9+
env:
10+
FORCE_COLOR: 1
11+
12+
jobs:
13+
build-install-test:
14+
name: build, install and test
15+
runs-on: ubuntu-26.04-arm
16+
timeout-minutes: 60
17+
env:
18+
PYTHONSTRICTEXTENSIONBUILD: 1
19+
steps:
20+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
21+
with:
22+
persist-credentials: false
23+
- name: Register gcc problem matcher
24+
run: echo "::add-matcher::.github/problem-matchers/gcc.json"
25+
- name: Set install dir
26+
run:
27+
echo "INSTALL_DIR=$(realpath "${GITHUB_WORKSPACE}/../installed-python")" >> "$GITHUB_ENV"
28+
- name: Install dependencies
29+
run: sudo ./.github/workflows/posix-deps-apt.sh
30+
- name: Configure CPython
31+
run: ./configure --config-cache --prefix="$INSTALL_DIR"
32+
- name: Build CPython
33+
run: make -j
34+
- name: Install CPython
35+
run: make install
36+
- name: Set installed interpreter
37+
run: |
38+
ldversion=$(./python -c 'import sysconfig; print(sysconfig.get_config_var("LDVERSION"))')
39+
echo "INSTALLED_PYTHON=${INSTALL_DIR}/bin/python${ldversion}" >> "$GITHUB_ENV"
40+
- name: Display build info
41+
run: |
42+
"$INSTALLED_PYTHON" -m test.pythoninfo
43+
- name: Test the installed Python
44+
run: xvfb-run "$INSTALLED_PYTHON" -m test --fast-ci --timeout=900

0 commit comments

Comments
 (0)