Skip to content

Commit 31f0dbb

Browse files
committed
run examples on free-threaded and GIL-enabled Python
1 parent a28065e commit 31f0dbb

1 file changed

Lines changed: 20 additions & 5 deletions

File tree

.github/workflows/conda-package.yml

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -588,8 +588,14 @@ jobs:
588588
strategy:
589589
matrix:
590590
python: ['3.14']
591+
python_spec: ['']
591592
experimental: [false]
592593
runner: [ubuntu-latest]
594+
include:
595+
- python: '3.14'
596+
python_spec: '3.14.* *_cp314'
597+
experimental: false
598+
runner: ubuntu-latest
593599
continue-on-error: ${{ matrix.experimental }}
594600
timeout-minutes: 60
595601
env:
@@ -615,7 +621,7 @@ jobs:
615621
- name: Download artifact
616622
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
617623
with:
618-
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python }}
624+
name: ${{ env.PACKAGE_NAME }} ${{ runner.os }} Python ${{ matrix.python == '3.14' && (matrix.python_spec != '' && '3.14' || '3.14t') || matrix.python }}
619625
- name: Add conda to system path
620626
run: echo "$CONDA/bin" >> "$GITHUB_PATH"
621627
- name: Create conda channel
@@ -633,8 +639,13 @@ jobs:
633639
export CHANNELS
634640
PACKAGE_VERSION=$(python -c "${VER_SCRIPT1} ${VER_SCRIPT2}")
635641
export PACKAGE_VERSION
642+
PYTHON_VER="${{ matrix.python_spec }}"
643+
if [ -z "${PYTHON_VER}" ]; then
644+
PYTHON_VER="${{ matrix.python }}"
645+
fi
646+
export PYTHON_VER
636647
# shellcheck disable=SC2086
637-
conda create -n ${{ env.EXAMPLES_ENV_NAME }} ${{ env.PACKAGE_NAME }}=${PACKAGE_VERSION} python=${{ matrix.python }} $CHANNELS --only-deps --dry-run > lockfile
648+
conda create -n ${{ env.EXAMPLES_ENV_NAME }} ${{ env.PACKAGE_NAME }}=${PACKAGE_VERSION} python="${PYTHON_VER}" $CHANNELS --only-deps --dry-run > lockfile
638649
cat lockfile
639650
- name: Set pkgs_dirs
640651
run: |
@@ -646,9 +657,9 @@ jobs:
646657
with:
647658
path: ~/.conda/pkgs
648659
key:
649-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-${{hashFiles('lockfile') }}
660+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-spec-${{ matrix.python == '3.14' && matrix.python_spec == '' && 't' || '' }}-${{hashFiles('lockfile') }}
650661
restore-keys: |
651-
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-
662+
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-python-${{ matrix.python }}-spec-${{ matrix.python == '3.14' && matrix.python_spec == '' && 't' || '' }}-
652663
${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-
653664
- name: Install example requirements
654665
shell: bash -ex -l {0}
@@ -660,8 +671,12 @@ jobs:
660671
DPCTL_DEPENDS="$(python -c "${VER_SCRIPT1} ${VER_SCRIPT3}")"
661672
export DPCTL_DEPENDS
662673
echo "Dpctl dependencies: ${DPCTL_DEPENDS}"
674+
PYTHON_VER="${{ matrix.python_spec }}"
675+
if [ -z "${PYTHON_VER}" ]; then
676+
PYTHON_VER="${{ matrix.python }}"
677+
fi
663678
# shellcheck disable=SC2086
664-
conda create -n ${{ env.EXAMPLES_ENV_NAME }} -y pytest python=${{ matrix.python }} "setuptools<72.2.0" $CHANNELS
679+
conda create -n ${{ env.EXAMPLES_ENV_NAME }} -y pytest python="${PYTHON_VER}" "setuptools<72.2.0" $CHANNELS
665680
echo "Environment created"
666681
# shellcheck disable=SC2086
667682
conda install -n ${{ env.EXAMPLES_ENV_NAME }} -y cmake ninja $CHANNELS || exit 1

0 commit comments

Comments
 (0)