github: bump Python and Ruby versions

Bump the maximum Python version to 3.12 and the maximum Ruby version to
3.3 in the GitHub CI.

Also bump the setup-python action to v5.

Since Python 3.12 dropped setuptools, install manually.

Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
Acked-by: James Carter <jwcart2@gmail.com>
This commit is contained in:
Christian Göttsche 2024-04-08 17:41:07 +02:00 committed by James Carter
parent 82d99136cf
commit aeafd9b419

View File

@ -10,36 +10,39 @@ jobs:
matrix: matrix:
compiler: [gcc, clang] compiler: [gcc, clang]
python-ruby-version: python-ruby-version:
- {python: '3.11', ruby: '3.1'} - {python: '3.12', ruby: '3.3'}
- {python: '3.11', ruby: '3.1', other: 'test-flags-override'} - {python: '3.12', ruby: '3.3', other: 'test-flags-override'}
- {python: '3.11', ruby: '3.1', other: 'test-debug'} - {python: '3.12', ruby: '3.3', other: 'test-debug'}
- {python: '3.11', ruby: '3.1', other: 'linker-bfd'} - {python: '3.12', ruby: '3.3', other: 'linker-bfd'}
- {python: '3.11', ruby: '3.1', other: 'linker-gold'} - {python: '3.12', ruby: '3.3', other: 'linker-gold'}
# Test several Python versions with the latest Ruby version # Test several Python versions with the latest Ruby version
- {python: '3.10', ruby: '3.1'} - {python: '3.11', ruby: '3.3'}
- {python: '3.9', ruby: '3.1'} - {python: '3.10', ruby: '3.3'}
- {python: '3.8', ruby: '3.1'} - {python: '3.9', ruby: '3.3'}
- {python: '3.7', ruby: '3.1'} - {python: '3.8', ruby: '3.3'}
- {python: 'pypy3.7', ruby: '3.1'} - {python: '3.7', ruby: '3.3'}
- {python: 'pypy3.7', ruby: '3.3'}
# Test several Ruby versions with the latest Python version # Test several Ruby versions with the latest Python version
- {python: '3.11', ruby: '3.0'} - {python: '3.12', ruby: '3.2'}
- {python: '3.11', ruby: '2.7'} - {python: '3.12', ruby: '3.1'}
- {python: '3.11', ruby: '2.6'} - {python: '3.12', ruby: '3.0'}
- {python: '3.11', ruby: '2.5'} - {python: '3.12', ruby: '2.7'}
- {python: '3.12', ruby: '2.6'}
- {python: '3.12', ruby: '2.5'}
exclude: exclude:
- compiler: clang - compiler: clang
python-ruby-version: {python: '3.11', ruby: '3.1', other: 'linker-bfd'} python-ruby-version: {python: '3.12', ruby: '3.3', other: 'linker-bfd'}
- compiler: clang - compiler: clang
python-ruby-version: {python: '3.11', ruby: '3.1', other: 'linker-gold'} python-ruby-version: {python: '3.12', ruby: '3.3', other: 'linker-gold'}
include: include:
- compiler: gcc - compiler: gcc
python-ruby-version: {python: '3.11', ruby: '3.1', other: 'sanitizers'} python-ruby-version: {python: '3.12', ruby: '3.3', other: 'sanitizers'}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-ruby-version.python }} - name: Set up Python ${{ matrix.python-ruby-version.python }}
uses: actions/setup-python@v4 uses: actions/setup-python@v5
with: with:
python-version: ${{ matrix.python-ruby-version.python }} python-version: ${{ matrix.python-ruby-version.python }}
@ -69,6 +72,10 @@ jobs:
pip install flake8 pip install flake8
- name: Install Python setuptools
if: matrix.python-ruby-version.python == '3.12'
run: pip install setuptools
- name: Install Clang - name: Install Clang
if: ${{ matrix.compiler == 'clang' }} if: ${{ matrix.compiler == 'clang' }}
run: sudo apt-get install -qqy clang run: sudo apt-get install -qqy clang