Skip to content

Commit 08c5d92

Browse files
committed
chore: backport ci scripts
1 parent 76a5fcb commit 08c5d92

File tree

2 files changed

+38
-19
lines changed

2 files changed

+38
-19
lines changed

ci/tools/env-vars

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@ if [[ ${#} -ne 1 ]]; then
1616
fi
1717

1818
PYTHON_VERSION_FORMATTED=$(echo "${PY_VER}" | tr -d '.')
19+
1920
if [[ "${HOST_PLATFORM}" == linux* ]]; then
20-
CIBW_BUILD="cp${PYTHON_VERSION_FORMATTED}-manylinux*"
2121
REPO_DIR=$(pwd)
2222
TOOLS_PATH="${REPO_DIR}/ci/tools"
2323
elif [[ "${HOST_PLATFORM}" == win* ]]; then
24-
CIBW_BUILD="cp${PYTHON_VERSION_FORMATTED}-win_amd64"
2524
PWD=$(pwd)
2625
REPO_DIR=$(cygpath -w ${PWD})
2726
TOOLS_PATH=$(cygpath -w ${PWD}/ci/tools)
@@ -30,14 +29,18 @@ fi
3029
echo "${TOOLS_PATH}" >> $GITHUB_PATH
3130
echo "CUDA_PYTHON_PARALLEL_LEVEL=$(nproc)" >> $GITHUB_ENV
3231
CUDA_CORE_ARTIFACT_BASENAME="cuda-core-python${PYTHON_VERSION_FORMATTED}-${HOST_PLATFORM}"
33-
echo "CUDA_CORE_ARTIFACT_BASENAME=${CUDA_CORE_ARTIFACT_BASENAME}" >> $GITHUB_ENV
34-
echo "CUDA_CORE_ARTIFACT_NAME=${CUDA_CORE_ARTIFACT_BASENAME}-${SHA}" >> $GITHUB_ENV
35-
echo "CUDA_CORE_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_core/dist")" >> $GITHUB_ENV
36-
echo "CUDA_CORE_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_core/tests/cython")" >> $GITHUB_ENV
37-
echo "PYTHON_VERSION_FORMATTED=${PYTHON_VERSION_FORMATTED}" >> $GITHUB_ENV
32+
{
33+
echo "CUDA_CORE_ARTIFACT_BASENAME=${CUDA_CORE_ARTIFACT_BASENAME}"
34+
echo "CUDA_CORE_ARTIFACT_NAME=${CUDA_CORE_ARTIFACT_BASENAME}-${SHA}"
35+
echo "CUDA_CORE_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_core/dist")"
36+
echo "CUDA_CORE_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_core/tests/cython")"
37+
echo "PYTHON_VERSION_FORMATTED=${PYTHON_VERSION_FORMATTED}"
38+
} >> $GITHUB_ENV
3839

3940
if [[ "${1}" == "build" ]]; then
40-
echo "CIBW_BUILD=${CIBW_BUILD}" >> $GITHUB_ENV
41+
# platform is handled by the default value of platform (`auto`) in cibuildwheel
42+
# here we only need to specify the python version we want
43+
echo "CIBW_BUILD=cp${PYTHON_VERSION_FORMATTED}-*" >> $GITHUB_ENV
4144
CUDA_BINDINGS_ARTIFACT_BASENAME="cuda-bindings-python${PYTHON_VERSION_FORMATTED}-cuda${CUDA_VER}-${HOST_PLATFORM}"
4245
elif [[ "${1}" == "test" ]]; then
4346
BUILD_CUDA_MAJOR="$(cut -d '.' -f 1 <<< ${BUILD_CUDA_VER})"
@@ -66,12 +69,17 @@ elif [[ "${1}" == "test" ]]; then
6669
SETUP_SANITIZER=0
6770
echo "SANITIZER_CMD=" >> $GITHUB_ENV
6871
fi
69-
echo "SETUP_SANITIZER=${SETUP_SANITIZER}" >> $GITHUB_ENV
70-
echo "SKIP_CUDA_BINDINGS_TEST=${SKIP_CUDA_BINDINGS_TEST}" >> $GITHUB_ENV
71-
echo "SKIP_CYTHON_TEST=${SKIP_CYTHON_TEST}" >> $GITHUB_ENV
72+
{
73+
echo "SETUP_SANITIZER=${SETUP_SANITIZER}"
74+
echo "SKIP_CUDA_BINDINGS_TEST=${SKIP_CUDA_BINDINGS_TEST}"
75+
echo "SKIP_CYTHON_TEST=${SKIP_CYTHON_TEST}"
76+
echo "TEST_CUDA_MAJOR=${TEST_CUDA_MAJOR}"
77+
} >> $GITHUB_ENV
7278
fi
7379

74-
echo "CUDA_BINDINGS_ARTIFACT_BASENAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}" >> $GITHUB_ENV
75-
echo "CUDA_BINDINGS_ARTIFACT_NAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}-${SHA}" >> $GITHUB_ENV
76-
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/dist")" >> $GITHUB_ENV
77-
echo "CUDA_BINDINGS_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/tests/cython")" >> $GITHUB_ENV
80+
{
81+
echo "CUDA_BINDINGS_ARTIFACT_BASENAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}"
82+
echo "CUDA_BINDINGS_ARTIFACT_NAME=${CUDA_BINDINGS_ARTIFACT_BASENAME}-${SHA}"
83+
echo "CUDA_BINDINGS_ARTIFACTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/dist")"
84+
echo "CUDA_BINDINGS_CYTHON_TESTS_DIR=$(realpath "${REPO_DIR}/cuda_bindings/tests/cython")"
85+
} >> $GITHUB_ENV

ci/tools/run-tests

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,14 @@ popd
3131

3232
if [[ "${test_module}" == "pathfinder" ]]; then
3333
pushd ./cuda_pathfinder
34-
echo "Running pathfinder tests with ${CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS}"
34+
echo "Running pathfinder tests with " \
35+
"LD:${CUDA_PATHFINDER_TEST_LOAD_NVIDIA_DYNAMIC_LIB_STRICTNESS} " \
36+
"FH:${CUDA_PATHFINDER_TEST_FIND_NVIDIA_HEADERS_STRICTNESS}"
3537
pwd
36-
pytest -ra -s -v tests/
38+
pytest -ra -s -v tests/ |& tee /tmp/pathfinder_test_log.txt
39+
# Fail if no "INFO test_" lines are found; capture line count otherwise
40+
line_count=$(grep '^INFO test_' /tmp/pathfinder_test_log.txt | wc -l)
41+
echo "Number of \"INFO test_\" lines: $line_count"
3742
popd
3843
elif [[ "${test_module}" == "bindings" ]]; then
3944
pushd "${CUDA_BINDINGS_ARTIFACTS_DIR}"
@@ -75,12 +80,18 @@ elif [[ "${test_module}" == "core" ]]; then
7580
echo "Installing core wheel"
7681
pwd
7782
ls
83+
84+
FREE_THREADING=""
85+
if python -c 'import sys; assert not sys._is_gil_enabled()' 2> /dev/null; then
86+
FREE_THREADING+="-ft"
87+
fi
88+
7889
if [[ "${LOCAL_CTK}" == 1 ]]; then
7990
# We already installed cuda-bindings, and all CTK components exist locally,
8091
# so just install the test dependencies.
81-
pip install $(ls *.whl)["test-cu${TEST_CUDA_MAJOR}"]
92+
pip install $(ls *.whl)["test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"]
8293
else
83-
pip install $(ls *.whl)["cu${TEST_CUDA_MAJOR}","test-cu${TEST_CUDA_MAJOR}"]
94+
pip install $(ls *.whl)["cu${TEST_CUDA_MAJOR}","test-cu${TEST_CUDA_MAJOR}${FREE_THREADING}"]
8495
fi
8596
popd
8697
pushd ./cuda_core

0 commit comments

Comments
 (0)