Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
85386ff
Replace setup.py with pip to install in editable mode.
nzlosh Feb 2, 2026
3dc1899
Skip empty test directory in makefile and display failed components.
nzlosh Feb 2, 2026
30f8ca1
Fix ModuleNotFoundError: No module named 'pipes'
nzlosh Feb 2, 2026
e58ce7d
Fix DeprecationWarning: module 'sre_parse' is deprecated
nzlosh Feb 3, 2026
aa2cc8b
Fix ImportError: cannot import name 'RequirementInformation' from 'pi…
nzlosh Feb 3, 2026
5b474ba
Fix DeprecationWarning: assertDictContainsSubset is deprecated
nzlosh Feb 5, 2026
5810f9a
Bump CI testing to python range 3.10 to 3.12
nzlosh Mar 17, 2026
3873289
Bump jsonschema version to support py3.12
nzlosh Mar 17, 2026
9b109d0
Regenerate pants lockfiles
nzlosh Mar 17, 2026
2ba51a0
Regenerate pants lockfiles
nzlosh Mar 17, 2026
983c093
Update pants requirements for python3.10-3.12
nzlosh Mar 17, 2026
ff0fe6d
Update requirements for python3.10-3.12
nzlosh Mar 17, 2026
402a3f0
Use public API over internal API for jsonschema to prevent import err…
nzlosh Mar 25, 2026
2af3949
Update pinning/lockfiles to use jsonschema 4.17.3
nzlosh Mar 25, 2026
e8c345f
Bump github actions to use py3.10 to py3.12 with mongo8.2, rabbitmq4.…
nzlosh Mar 25, 2026
df2f2a6
Create virtualenv using venv module.
nzlosh Mar 25, 2026
a9ae68a
Replace pkg_resources with importlib and regenerate lockfile/requirem…
nzlosh Mar 26, 2026
4a6cd40
Replace virtual with venv module
nzlosh Mar 26, 2026
b909869
Replace flex module with openapi-spec-validator and regenerate lockfi…
nzlosh Mar 26, 2026
c8b604c
Enable debug
nzlosh Mar 26, 2026
0d0f44c
Constrain setuptools for all python versions
nzlosh Mar 26, 2026
271b801
convert FileWatchSensor to use threading over eventlent and stackstor…
skiedude Mar 27, 2026
66c8be1
update requirements/tests with removal of logshipper
skiedude Mar 27, 2026
a0526d3
Merge pull request #2 from skiedude/filewatchsensor
nzlosh Mar 27, 2026
f050412
Testing fixes for py3.10 (#3)
skiedude Apr 6, 2026
7022dde
Revert date range for copyright notice.
nzlosh Apr 6, 2026
e71a42c
debug jsonschema version bump
nzlosh Apr 14, 2026
7fda01e
jsonschema/openapi validation fixes (#4)
skiedude Apr 16, 2026
4858c81
Linting fixes, compile fixes (#5)
skiedude Apr 17, 2026
7db0101
More pip/setuptools install fixes (#6)
skiedude Apr 29, 2026
a43d5ea
regen pants lockfile to update orquest and other sha (#7)
skiedude Apr 29, 2026
386ea50
remove call to virtualenv (#8)
skiedude May 4, 2026
1084335
Update test_dist_utils.py - new dep flex
guzzijones May 6, 2026
6ca5e1a
Update test_resource_registrar.py 5 is now invalid python
guzzijones May 6, 2026
329c2b4
Update test_logging.py; stderr contains eventlet warning
guzzijones May 6, 2026
adddc19
Update test_pythonrunner_behavior.py; six deprecated
guzzijones May 27, 2026
62f2a58
Update test_pythonrunner_behavior.py ; remove six check
guzzijones May 27, 2026
a682111
Lint fix
nzlosh Jun 7, 2026
6974fc4
Revert "Update test_logging.py; stderr contains eventlet warning"
nzlosh Jun 7, 2026
f1bad56
Update ci.yaml . try using pip install -e .
guzzijones Jun 9, 2026
9338d56
Update ci.yaml; revert last change to test pip install -e
guzzijones Jun 9, 2026
b32b89a
Update __init__.py; set normalized version name to avoid permission e…
guzzijones Jun 10, 2026
87e667e
Update __init__.py
guzzijones Jun 10, 2026
638b4e4
Update __init__.py; st2client version change did not fix st2 test issue
guzzijones Jun 10, 2026
48b8e7b
Update BUILD.venv; change to >= to fix interepreter constrainsts lint…
guzzijones Jun 10, 2026
59d20ca
Update BUILD.venv; add minor version and <3.13
guzzijones Jun 10, 2026
4d422da
Update BUILD.venv; make a subset by putting into one string
guzzijones Jun 10, 2026
629c1df
Update BUILD.venv; remove 3.8; 3.9 which are eol
guzzijones Jun 10, 2026
6c276ba
Update BUILD; remove 8 and 9 from packaging/build params
guzzijones Jun 10, 2026
16a3051
Update BUILD; remove 3.8 distro
guzzijones Jun 10, 2026
bd7c02c
Update BUILD.venv remove 8 9
guzzijones Jun 10, 2026
0667c59
Update BUILD; mention plugin required for openapi validation that pex…
guzzijones Jun 10, 2026
90ef606
Update BUILD; whitespace
guzzijones Jun 10, 2026
5a89550
EVENTLET ignore warning for testing
guzzijones Jun 10, 2026
95b08e5
add env variable specifically to test to ignore warnings for eventlet
guzzijones Jun 10, 2026
e126520
set env variable for eventlet in tests
guzzijones Jun 10, 2026
8bba7de
set env variable for eventlet in tests
guzzijones Jun 10, 2026
f8b05be
clean up st2client.egg-info before install
guzzijones Jun 11, 2026
63e9501
increase time for python 12
guzzijones Jun 11, 2026
3597993
st2client already installed by make step
guzzijones Jun 11, 2026
677ad5a
turn off line buffering for python3.12 change
guzzijones Jun 11, 2026
56b5a88
undo no flush setting in log
guzzijones Jun 11, 2026
8a2df5e
use sigterm instead of sigkill, also increase timeout for python3.12 …
guzzijones Jun 11, 2026
1f2ff02
add diagnostic for st2 pack install
guzzijones Jun 11, 2026
72eacd8
fix redis parametarize causing 11 runs of check redis connection that…
guzzijones Jun 11, 2026
98b994e
pants tailor update for pytest requirement
guzzijones Jun 11, 2026
775f115
remove diagnostics, skip the st2tests test that installs consul/datad…
skiedude Jun 17, 2026
cbc4599
skip test in this action as well (#10)
skiedude Jun 17, 2026
cc3e2e2
Updates 3.10 (#11)
guzzijones Jun 22, 2026
7c5602c
rebased changes imported; fix circle ci python and distros (#12)
guzzijones Jun 24, 2026
92ec9ca
Update Circle CI meta for 3rd party services, images and ci scripts.
nzlosh Jun 26, 2026
d66fdc6
Consistently patch st2packages pip version for debian and redhat.
nzlosh Jun 26, 2026
bbe918e
Use PYBIN consistently in Makefile and set py3.11 on rocky9
nzlosh Jun 30, 2026
5acc4ab
TEST: Pin virtualenv==21.5.1 embeds pip==26.1.2 setuptools==82.0.1
nzlosh Jul 7, 2026
6cb6f38
Pin gunicorn <26 because eventlet support is dropped.
nzlosh Jul 8, 2026
c5b31e8
Revert "Use PYBIN consistently in Makefile and set py3.11 on rocky9"
guzzijones Jul 8, 2026
0c73b58
add referencing limit on requirments
guzzijones Jul 8, 2026
60e7370
pin referencing from orquesta
guzzijones Jul 8, 2026
d723b80
try to list files before copy
guzzijones Jul 8, 2026
f2f509b
try to list files before copy
guzzijones Jul 8, 2026
e348d87
list files in circle
guzzijones Jul 8, 2026
06dd3f2
what are the log settings
guzzijones Jul 8, 2026
2b6160b
find the logs
guzzijones Jul 8, 2026
4d01449
add logging
guzzijones Jul 9, 2026
1373e88
try gunicorn 25
guzzijones Jul 9, 2026
15b48d1
debugging mismatch
guzzijones Jul 9, 2026
11b61ce
change location of python in test
guzzijones Jul 9, 2026
9ed7e5b
after rake do testing
guzzijones Jul 9, 2026
254ff9e
test hash
guzzijones Jul 9, 2026
c87e843
seed check
guzzijones Jul 9, 2026
23f408a
use script
guzzijones Jul 9, 2026
5947e49
virtualenv patch
guzzijones Jul 9, 2026
c3b3d3e
README change to test hashing change
guzzijones Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions .circle/check-virtualenv-wheels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
#!/bin/bash
# Diagnostic script to check virtualenv bundled wheel SHA256 hashes
# This helps identify if bundled wheels are corrupted

set -e

echo "========================================"
echo " VIRTUALENV BUNDLED WHEELS DIAGNOSTIC"
echo "========================================"
echo ""

# Check virtualenv version
echo "1. Virtualenv Version:"
/opt/stackstorm/st2/bin/python -m virtualenv --version || echo " ERROR: Could not determine virtualenv version"
echo ""

# Find virtualenv package location
echo "2. Virtualenv Package Location:"
VENV_PKG=$(/opt/stackstorm/st2/bin/python -c "import virtualenv; print(virtualenv.__file__)" 2>/dev/null || echo "")
if [ -z "$VENV_PKG" ]; then
echo " ERROR: Could not locate virtualenv package"
exit 1
fi
VENV_DIR=$(dirname "$VENV_PKG")
echo " Package file: $VENV_PKG"
echo " Package dir: $VENV_DIR"
echo ""

# Find bundled wheels directory
echo "3. Bundled Wheels Directory:"
WHEELS_DIR="$VENV_DIR/seed/wheels/embed"
if [ -d "$WHEELS_DIR" ]; then
echo " Location: $WHEELS_DIR"
echo " Contents:"
ls -lh "$WHEELS_DIR" | grep -E '\.(whl|txt)$' || echo " No .whl or .txt files found"
else
echo " ERROR: Wheels directory not found at $WHEELS_DIR"
# Try alternate location
WHEELS_DIR="$VENV_DIR/seed/embed"
if [ -d "$WHEELS_DIR" ]; then
echo " Found alternate location: $WHEELS_DIR"
else
echo " ERROR: Could not find bundled wheels directory"
exit 1
fi
fi
echo ""

# Calculate SHA256 hashes for all wheel files
echo "4. SHA256 Hashes of Bundled Wheels:"
WHEEL_COUNT=0
while IFS= read -r wheel; do
if [ -f "$wheel" ]; then
WHEEL_COUNT=$((WHEEL_COUNT + 1))
BASENAME=$(basename "$wheel")
echo " File: $BASENAME"

# Calculate actual hash
ACTUAL_HASH=$(sha256sum "$wheel" | awk '{print $1}')
echo " Actual SHA256: $ACTUAL_HASH"

# Try to find expected hash in wheels.json or similar
WHEEL_NAME="${BASENAME%.whl}"
JSON_FILE="$WHEELS_DIR/../wheels.json"
if [ -f "$JSON_FILE" ]; then
EXPECTED_HASH=$(python -c "
import json
try:
with open('$JSON_FILE') as f:
data = json.load(f)
for entry in data:
if '$BASENAME' in str(entry):
print(entry.get('sha256', 'Not found'))
break
except:
pass
" 2>/dev/null)
if [ ! -z "$EXPECTED_HASH" ] && [ "$EXPECTED_HASH" != "Not found" ]; then
echo " Expected SHA256: $EXPECTED_HASH"
if [ "$ACTUAL_HASH" = "$EXPECTED_HASH" ]; then
echo " Status: ✓ MATCH"
else
echo " Status: ✗ MISMATCH - CORRUPTED WHEEL DETECTED!"
fi
fi
fi
echo ""
fi
done < <(find "$WHEELS_DIR" -name "*.whl" -type f 2>/dev/null)

if [ $WHEEL_COUNT -eq 0 ]; then
echo " WARNING: No wheel files found in $WHEELS_DIR"
fi
echo ""

# Check virtualenv cache
echo "5. Virtualenv Cache Status:"
CACHE_DIR="${HOME}/.cache/virtualenv"
if [ -d "$CACHE_DIR" ]; then
echo " Cache location: $CACHE_DIR"
CACHE_SIZE=$(du -sh "$CACHE_DIR" 2>/dev/null | awk '{print $1}')
echo " Cache size: $CACHE_SIZE"

WHEEL_FILES=$(find "$CACHE_DIR" -type f -name "*.whl" 2>/dev/null | wc -l)
echo " Cached wheel files: $WHEEL_FILES"

if [ $WHEEL_FILES -gt 0 ]; then
echo " Recent cached wheels:"
find "$CACHE_DIR" -type f -name "*.whl" -exec ls -lh {} \; 2>/dev/null | head -10
fi
else
echo " No cache found at $CACHE_DIR"
fi
echo ""

# Check Python and pip versions for context
echo "6. Python Environment:"
echo " Python: $(python --version 2>&1)"
echo " Pip: $(pip --version 2>&1 | awk '{print $2}')"
echo ""

# Show virtualenv seed wheels module info if available
echo "7. Virtualenv Seed Module Info:"
python -c "
try:
from virtualenv.seed.wheels.embed import BUNDLE_FOLDER, BUNDLE_SUPPORT
print(f' Bundle folder: {BUNDLE_FOLDER}')
print(f' Bundle support: {BUNDLE_SUPPORT}')
except Exception as e:
print(f' Could not import seed module: {e}')
" 2>/dev/null || echo " Could not retrieve seed module info"
echo ""

echo "========================================"
echo " DIAGNOSTIC COMPLETE"
echo "========================================"
Loading
Loading