Skip to content

Add python 2 to Ubuntu build matrix. #438

Add python 2 to Ubuntu build matrix.

Add python 2 to Ubuntu build matrix. #438

Workflow file for this run

# Test on Ubuntu with various compiler and language standard versions.
name: Test Ubuntu
on:
push:
pull_request:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.14']
cxx: [g++, clang++]
std: [c++11, c++14, c++17]
include:
# Also test with free-threaded build of Python
- python-version: '2.7'
cxx: g++
std: c++11
- python-version: '3.14t'
cxx: clang++
std: c++17
container:
# Add the appropriate docker image for the compiler.
# The images from teeks99/boost-python-test already have boost::python
# pre-reqs installed, see:
# https://github.com/teeks99/boost-python-test-docker
image: ${{ matrix.cxx == 'g++' &&
'teeks99/boost-python-test:gcc-15_1.89.0' ||
'teeks99/boost-python-test:clang-21_1.89.0' }}
steps:
- uses: actions/checkout@v5
- name: setup python
if: "${{ matrix.python-version != '2.7' }}"
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: setup prerequisites
run: |
# Warning: this is not necessarily the same Python version as the one configured above !
python3 -m pip install -U faber --break-system-packages
echo "CXX=${{ matrix.cxx }}" >> "$GITHUB_ENV"
echo "CXX_STD=${{ matrix.std }}" >> "$GITHUB_ENV"
- name: build
if: "${{ matrix.python-version != '2.7' }}"
run: |
.github/run-faber.sh
- name: build
if: "${{ matrix.python-version == '2.7' }}"
run: |
python --version
echo ${BOOST_PY_DEPS}
${{ matrix.cxx }} --version
faber -v
sed -e "s/\$PYTHON/python/g" .ci/faber > ~/.faber
faber \
--with-boost-include=${BOOST_PY_DEPS} \
--builddir=build \
cxx.name=${{ matrix.cxx }} \
cxxflags=-std=${{ matrix.std }} \
cppflags=-std=${{ matrix.std }} \
-j`nproc`
- name: test
if: "${{ matrix.python-version != '2.7' }}"
run: |
.github/run-faber.sh test.report
- name: test
if: "${{ matrix.python-version == '2.7' }}"
run: |
faber \
--debug \
--with-boost-include=${BOOST_PY_DEPS} \
--builddir=build \
cxx.name=${{ matrix.cxx }} \
cxxflags=-std=${{ matrix.std }} \
cppflags=-std=${{ matrix.std }} \
-j`nproc` \
test.report