mirror of
https://github.com/boostorg/python.git
synced 2026-01-28 19:32:14 +00:00
Update Linux CI scripts, more Python versions.
Update scripts to use actions/setup-python to install different Python versions. Add run-faber.sh and get-py-env.py scripts. Add test-ubuntu-py-ver.yml CI script to test with different Python versions.
This commit is contained in:
committed by
Stefan Seefeld
parent
5013564316
commit
e89f86b74f
58
.github/workflows/test-ubuntu-py2.yml
vendored
Normal file
58
.github/workflows/test-ubuntu-py2.yml
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
name: Test Ubuntu, Python 2.x
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python: [python]
|
||||
cxx: [g++]
|
||||
std: [c++11]
|
||||
include:
|
||||
# Add the appropriate docker image for each compiler.
|
||||
# The images from teeks99/boost-python-test already have boost::python
|
||||
# pre-reqs installed, see:
|
||||
# https://github.com/teeks99/boost-python-test-docker
|
||||
- cxx: g++
|
||||
docker-img: teeks99/boost-python-test:gcc-15_1.89.0
|
||||
|
||||
container:
|
||||
image: ${{ matrix.docker-img }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- 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
|
||||
- name: build
|
||||
run: |
|
||||
${{ matrix.python }} --version
|
||||
${{ matrix.cxx }} --version
|
||||
faber -v
|
||||
sed -e "s/\$PYTHON/${{ matrix.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
|
||||
run: |
|
||||
faber \
|
||||
--with-boost-include=${BOOST_PY_DEPS} \
|
||||
--builddir=build \
|
||||
cxx.name=${{ matrix.cxx }} \
|
||||
cxxflags=-std=${{ matrix.std }} \
|
||||
cppflags=-std=${{ matrix.std }} \
|
||||
-j`nproc` \
|
||||
test.report
|
||||
58
.github/workflows/test-ubuntu.yml
vendored
58
.github/workflows/test-ubuntu.yml
vendored
@@ -1,6 +1,10 @@
|
||||
# Test on Ubuntu with various compiler and language standard versions.
|
||||
name: Test Ubuntu
|
||||
|
||||
on: [push, pull_request]
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -9,49 +13,37 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python: [python, python3]
|
||||
python-version: ['3.14']
|
||||
cxx: [g++, clang++]
|
||||
std: [c++11, c++14, c++17]
|
||||
include:
|
||||
# Add the appropriate docker image for each compiler.
|
||||
# The images from teeks99/boost-python-test already have boost::python
|
||||
# pre-reqs installed, see:
|
||||
# https://github.com/teeks99/boost-python-test-docker
|
||||
- cxx: clang++
|
||||
docker-img: teeks99/boost-python-test:clang-21_1.89.0
|
||||
- cxx: g++
|
||||
docker-img: teeks99/boost-python-test:gcc-15_1.89.0
|
||||
# Also test with free-threaded build of Python
|
||||
- python-version: '3.14t'
|
||||
cxx: clang++
|
||||
std: c++17
|
||||
|
||||
container:
|
||||
image: ${{ matrix.docker-img }}
|
||||
# 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
|
||||
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
|
||||
run: |
|
||||
${{ matrix.python }} --version
|
||||
${{ matrix.cxx }} --version
|
||||
faber -v
|
||||
sed -e "s/\$PYTHON/${{ matrix.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`
|
||||
.github/run-faber.sh
|
||||
- name: test
|
||||
run: |
|
||||
faber \
|
||||
--with-boost-include=${BOOST_PY_DEPS} \
|
||||
--builddir=build \
|
||||
cxx.name=${{ matrix.cxx }} \
|
||||
cxxflags=-std=${{ matrix.std }} \
|
||||
cppflags=-std=${{ matrix.std }} \
|
||||
-j`nproc` \
|
||||
test.report
|
||||
.github/run-faber.sh test.report
|
||||
|
||||
Reference in New Issue
Block a user