Skip to content

All Linux CI is run against python 3.11 #38

Closed

Description

@DiamondJoseph

The matrix that parameterises the CI for Linux does not have the key python and so falls through to the default value of 3.11- this means that any problems with 3.12, 3.13 and any breakages for other versions from other upstream dependencies have been missed.

Activity

  1. coretl commented on Jul 8, 2025

    @coretl
    Collaborator

    If I read the CI correct, the entries that define pyver will run under the appropriate manylinux container here:

    - name: Docker PY build
    if: matrix.pyver && !matrix.source
    run: |
    # can't use GHA native docker support since GHA magic binaries need .so absent from old manylinux images :(
    cat <<EOF > runit.sh
    #!/bin/sh
    set -e -x
    ls /opt/python/
    cd /io
    [ -d dist ]
    ls dist/*
    export PATH="/opt/python/${{ matrix.pyver }}/bin:\$PATH"
    which python
    python -m pip install -U pip
    python -m pip install --only-binary numpy setuptools wheel nose2 numpy
    python -m pip install $PRE setuptools-dso
    python -m pip wheel -v -w dist --no-index --no-deps \
    --no-build-isolation --no-use-pep517 \
    --build-option --plat-name=${{ matrix.piparch }} \
    $PRE \
    dist/*.tar.*
    cd dist
    python -m pip install epicscorelibs*.whl
    python -c 'import epicscorelibs; print("IMPORT", epicscorelibs.__file__)'
    python -m nose2 -v epicscorelibs
    EOF
    cat runit.sh
    chmod +x runit.sh
    docker pull quay.io/pypa/${{ matrix.piparch }}
    docker run --rm -v `pwd`:/io quay.io/pypa/${{ matrix.piparch }} ${{ matrix.pre }} /io/runit.sh

    This means that they will actually use python 3.11 only for the prep stages, and the test and build is done on the correct python.

    I will leave @mdavidsaver to comment if this is incorrect, but I think this issue can be closed as invalid.

  2. mdavidsaver commented on Jan 8, 2026

    @mdavidsaver
    Member

    @coretl is correct. I think the confusion comes from my having squeezed two different build processes into one GHA job.

    I think this ticket is now moot as #46 has changed the situation considerably. There are now separate jobs for manylinux and native builds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions