Skip to content

Commit 274c01e

Browse files
committed
Exclude conans import
Signed-off-by: Uilian Ries <[email protected]>
1 parent 1cac875 commit 274c01e

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

.github/scripts/validate-cci-patch-ng.sh

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,57 @@
22

33
set -euo pipefail
44

5+
# Get TEST_ALL_RECIPES from environment variable, default to 0 (false)
6+
PYTHON_NG_TEST_ALL_RECIPES=${PYTHON_NG_TEST_ALL_RECIPES:-0}
7+
58
SAMPLE_RECIPES_NUM=30
69
RECIPES_BUILD_NUM=10
710
RECIPES_BUILT_COUNT=0
811

12+
# Ensure required tools are installed
13+
COMMANDS=("conan" "yq" "jq")
14+
for cmd in "${COMMANDS[@]}"; do
15+
if ! which $cmd &> /dev/null; then
16+
echo "ERROR: $cmd is not installed. Please install $cmd to proceed."
17+
exit 1
18+
fi
19+
done
20+
921
# Find all conanfile.py files that use apply_conandata_patches
1022
RECIPES=$(find . -type f -name "conanfile.py" -exec grep -l "apply_conandata_patches(self)" {} + | sort | uniq)
1123
# And does not need system requirement
1224
RECIPES=$(grep -L "/system" $RECIPES)
25+
# And does not contain Conan 1 imports
26+
RECIPES=$(grep -L "from conans" $RECIPES)
1327

1428
echo "Found $(echo "$RECIPES" | wc -l) recipes using apply_conandata_patches."
1529

16-
SAMPLE_RECIPES=$(shuf -e ${RECIPES[@]} -n $SAMPLE_RECIPES_NUM)
17-
18-
echo "Pick $SAMPLE_RECIPES_NUM random recipes to test:"
19-
echo "$SAMPLE_RECIPES"
30+
if [ "${PYTHON_NG_TEST_ALL_RECIPES}" -eq "1" ]; then
31+
SAMPLE_RECIPES_NUM=$(echo "$RECIPES" | wc -l)
32+
RECIPES_BUILD_NUM=$SAMPLE_RECIPES_NUM
33+
echo "PYTHON_NG_TEST_ALL_RECIPES is set to 1, testing all $SAMPLE_RECIPES_NUM recipes."
34+
else
35+
RECIPES=$(shuf -e ${RECIPES[@]} -n $SAMPLE_RECIPES_NUM)
36+
echo "Pick $SAMPLE_RECIPES_NUM random recipes to test:"
37+
echo "$RECIPES"
38+
fi
2039

2140
# Run conan create for each sampled recipe
22-
for it in $SAMPLE_RECIPES; do
41+
for it in $RECIPES; do
2342

2443
if [ $RECIPES_BUILT_COUNT -ge $RECIPES_BUILD_NUM ]; then
2544
echo "Reached the limit of $RECIPES_BUILD_NUM recipes built, stopping. All done."
2645
break
2746
fi
2847

2948
recipe_dir=$(dirname "${it}")
30-
pushd "$recipe_dir"
49+
pushd "$recipe_dir" > /dev/null
3150
echo "Testing recipe in directory: ${recipe_dir}"
3251
# Get a version from conandata.yml that uses a patch
3352
version=$(yq '.patches | keys | .[0]' conandata.yml 2>/dev/null)
3453
if [ -z "$version" ]; then
3554
echo "ERROR: No patches found in conandata.yml for $recipe_dir, skipping."
55+
popd > /dev/null
3656
continue
3757
fi
3858
version=$(echo ${version} | tr -d '"')
@@ -56,7 +76,7 @@ for it in $SAMPLE_RECIPES; do
5676
else
5777
echo "ERROR: Fatal error during conan create command execution:"
5878
echo "$output"
59-
popd
79+
popd > /dev/null
6080
exit 1
6181
fi
6282
else
@@ -65,5 +85,5 @@ for it in $SAMPLE_RECIPES; do
6585
echo "-------------------------------------------------------"
6686
RECIPES_BUILT_COUNT=$((RECIPES_BUILT_COUNT + 1))
6787
fi
68-
popd
88+
popd > /dev/null
6989
done

0 commit comments

Comments
 (0)