Skip to content

Commit

Permalink
github: Update python to 3.12.
Browse files Browse the repository at this point in the history
We pinned the python version to 3.9 because we had issues building
older meson 0.47.1 with python 3.10.  Since then meson was updated to
0.53.2 in our CI, but we didn't reconsider the python version.

Newer versions of python uncover more issues with our python files.
And newer major distributions are using newer versions of python.  But
we do not really want to use bleeding edge of python releases either to
avoid unexpected CI failures that need immediate fixes.

Pin python version to 3.12 as it is the latest released version and we
should not have any issues with this version.

While at it, updating meson to a newer version that plays nicely with
python 3.12.  We do not really care much about the version we use here
as long as it is able to build the version of DPDK we're using.  Meson
has no LTS releases, as far as I can tell, so just choosing the latest
stable 1.4.x series.  It should be fine to use for a next few years.
Major distributions are using 1.0+ versions.  Upcoming F40 and Ubuntu
24.03 have meson 1.3.

It would also be nice to test the minimal supported version of python,
but 3.6 is not available in setup-python for 22.04.  The oldest is 3.7.
And 3.7 is EoL, so pip fails to install some of our dependencies.  The
oldest version we can use today is 3.8.  But, in the end, this becomes
a race against older python versions reaching end of their life and
packages dropping support of these versions.  This may cause unexpected
CI failures.  So, not doing that for now.

Acked-by: Simon Horman <horms@ovn.org>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
  • Loading branch information
igsilya committed Apr 11, 2024
1 parent 1d639d1 commit d4d309b
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
2 changes: 1 addition & 1 deletion .ci/linux-prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ cd ..
pip3 install --disable-pip-version-check --user wheel
pip3 install --disable-pip-version-check --user \
flake8 netaddr pyparsing sphinx setuptools pyelftools
pip3 install --user 'meson==0.53.2'
pip3 install --user 'meson>=1.4,<1.5'

if [ "$M32" ]; then
# Installing 32-bit libraries.
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ name: Build and Test

on: [push, pull_request]

env:
python_default: 3.12

jobs:
build-linux:
env:
Expand Down Expand Up @@ -112,7 +115,7 @@ jobs:
- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: ${{ env.python_default }}

- name: create ci signature file for the dpdk cache key
if: matrix.dpdk != '' || matrix.dpdk_shared != ''
Expand Down Expand Up @@ -197,7 +200,7 @@ jobs:
- name: set up python
uses: actions/setup-python@v5
with:
python-version: '3.9'
python-version: ${{ env.python_default }}
- name: install dependencies
run: brew install automake libtool
- name: prepare
Expand Down

0 comments on commit d4d309b

Please sign in to comment.