Mercurial > p > roundup > code
annotate .github/workflows/build-xapian.yml @ 7956:9166e0100e01
test: 1.4.18 get xapian working under github actions and python 3.13
issue2551338 xapian doesn't build in CI for 3.13 python
Change to allow 1 hour of tmate ssh debugging before session is disconected.
[skip travis]
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 12 May 2024 20:08:41 -0400 |
| parents | 694bbda71bf7 |
| children | 05ce472d372b |
| rev | line source |
|---|---|
|
7949
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 name: build-xapian |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 on: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 push: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 # skip if github.ref is 'refs/heads/maint-1.6' |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 # aka github.ref_name of 'maint-1.6' |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 # see https://github.com/orgs/community/discussions/26253 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 # for mechanism to control matrix based on branch |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 branches: [ "*", '!maint-1.6' ] |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 workflow_dispatch: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 inputs: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 debug_enabled: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 type: boolean |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 required: false |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 default: false |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 # GITHUB_TOKEN only has read repo context. |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 permissions: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 contents: read |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 concurrency: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 group: ${{ github.workflow }}-${{ github.ref }} |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 cancel-in-progress: true |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 jobs: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 test: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 name: build xapian |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 runs-on: ubuntu-22.04 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 env: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 # get colorized pytest output even without a controlling tty |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 PYTEST_ADDOPTS: "--color=yes" |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 # OS: ${{ matrix.os }} |
|
7951
9009d489bf5a
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7950
diff
changeset
|
35 PYTHON_VERSION: 3.13 |
|
7949
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 steps: |
|
7950
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
38 # Checkout the latest code from the repo |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
39 - name: Checkout source |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
40 # example directives: |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
41 # disable step |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
42 # if: {{ false }} |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
43 # continue running if step fails |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
44 # continue-on-error: true |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
45 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
46 |
|
29730a09e882
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7949
diff
changeset
|
47 # Setup version of Python to use |
|
7949
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
48 - name: Set Up Python 3.13 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
49 uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
50 with: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
51 python-version: 3.13 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
52 allow-prereleases: true |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
53 cache: 'pip' |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
54 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
55 - name: Install build tools - setuptools |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
56 run: pip install setuptools |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
57 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
58 # Display the Python version being used |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
59 - name: Display Python and key module versions |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
60 run: | |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
61 python -c "import sys; print('python version: ', sys.version)" |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
62 python -c "import sqlite3; print('sqlite version: ', sqlite3.sqlite_version)" |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
63 python -c "import setuptools; print('setuptools version: ', setuptools.__version__);" |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
64 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
65 - name: Update pip |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
66 run: python -m pip install --upgrade pip |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
67 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
68 # https://github.com/mxschmitt/action-tmate |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
69 # allow remote ssh into the CI container. I need this to debug |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
70 # some xfail cases |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
71 - name: Setup tmate session |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
72 uses: mxschmitt/action-tmate@v3 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
73 if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} |
|
7956
9166e0100e01
test: 1.4.18 get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7955
diff
changeset
|
74 timeout-minutes: 60 |
|
7949
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
75 with: |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
76 limit-access-to-actor: true |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
77 |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
78 - name: Install xapian |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
79 run: | |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
80 set -xv |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
81 sudo apt-get install libxapian-dev |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
82 # Sphinx required to build the xapian python bindings. Use 1.8.5 on |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
83 # older python and newest on newer. |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
84 if [[ $PYTHON_VERSION == '3.'* ]] ; then pip install sphinx; fi |
|
7955
694bbda71bf7
test: 1.4.18 get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
7954
diff
changeset
|
85 XAPIAN_VER="1.4.18"; echo $XAPIAN_VER; |
|
7949
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
86 cd /tmp |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
87 curl -s -O https://oligarchy.co.uk/xapian/$XAPIAN_VER/xapian-bindings-$XAPIAN_VER.tar.xz |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
88 tar -Jxvf xapian-bindings-$XAPIAN_VER.tar.xz |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
89 cd xapian-bindings-$XAPIAN_VER/ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
90 # edit the configure script. |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
91 # distutils.sysconfig.get_config_vars('SO') doesn't work for |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
92 # 3.11 or newer. |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
93 # Change distutils.sysconfig... to just sysconfig and SO |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
94 # to EXT_SUFFIX to get valid value. |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
95 if [[ $PYTHON_VERSION == "X."* ]]; then |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
96 cp configure configure.FCS; |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
97 sed -i \ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
98 -e '/PYTHON3_SO=/s/distutils\.//g' \ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
99 -e '/PYTHON3_SO=/s/"SO"/"EXT_SUFFIX"/g' \ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
100 -e '/PYTHON3_CACHE_TAG=/s/imp;print(imp.get_tag())/sys;print(sys.implementation.cache_tag)/' \ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
101 -e '/PYTHON3_CACHE_OPT1_EXT=/s/imp\.get_tag()/sys.implementation.cache_tag/g' \ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
102 -e '/PYTHON3_CACHE_OPT1_EXT=/s/imp\b/importlib/g' \ |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
103 configure; |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
104 diff -u configure.FCS configure || true; |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
105 fi |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
106 ./configure --prefix=$VIRTUAL_ENV --with-python3 --disable-documentation |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
107 make && sudo make install |
|
5cc2d0001723
test: get xapian working under github actions and python 3.13
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
108 python -c 'import xapian' |
