-
Notifications
You must be signed in to change notification settings - Fork 470
ci(iast): fix and enable python3.14 tests #15340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 217 ± 2 ms. The average import time from base is: 221 ± 2 ms. The import time difference between this PR and base is: -4.3 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
tests/appsec/iast_tdd_propagation/flask_taint_sinks_views.py
Dismissed
Show dismissed
Hide dismissed
Performance SLOsComparing candidate avara1986/APPSEC-58747 (d602f3f) with baseline main (fb4be8e) 🟡 Near SLO Breach (2 suites)🟡 packagespackageforrootmodulemapping - 4/4✅ cache_offTime: ✅ 341.684ms (SLO: <354.300ms -3.6%) vs baseline: +0.1% Memory: ✅ 40.744MB (SLO: <41.500MB 🟡 -1.8%) vs baseline: +6.8% ✅ cache_onTime: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.2% Memory: ✅ 38.471MB (SLO: <41.000MB -6.2%) vs baseline: +4.8% 🟡 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 2.904µs (SLO: <20.000µs 📉 -85.5%) vs baseline: -0.5% Memory: ✅ 34.564MB (SLO: <35.500MB -2.6%) vs baseline: +4.8% ✅ 1-count-metrics-100-timesTime: ✅ 200.310µs (SLO: <220.000µs -9.0%) vs baseline: -0.8% Memory: ✅ 34.623MB (SLO: <35.500MB -2.5%) vs baseline: +5.0% ✅ 1-distribution-metric-1-timesTime: ✅ 3.239µs (SLO: <20.000µs 📉 -83.8%) vs baseline: -0.8% Memory: ✅ 34.524MB (SLO: <35.500MB -2.7%) vs baseline: +4.6% ✅ 1-distribution-metrics-100-timesTime: ✅ 213.672µs (SLO: <230.000µs -7.1%) vs baseline: +0.5% Memory: ✅ 34.564MB (SLO: <35.500MB -2.6%) vs baseline: +4.9% ✅ 1-gauge-metric-1-timesTime: ✅ 2.175µs (SLO: <20.000µs 📉 -89.1%) vs baseline: +0.2% Memory: ✅ 34.603MB (SLO: <35.500MB -2.5%) vs baseline: +4.6% ✅ 1-gauge-metrics-100-timesTime: ✅ 136.341µs (SLO: <150.000µs -9.1%) vs baseline: -0.3% Memory: ✅ 34.583MB (SLO: <35.500MB -2.6%) vs baseline: +5.0% ✅ 1-rate-metric-1-timesTime: ✅ 3.040µs (SLO: <20.000µs 📉 -84.8%) vs baseline: ~same Memory: ✅ 34.564MB (SLO: <35.500MB -2.6%) vs baseline: +4.6% ✅ 1-rate-metrics-100-timesTime: ✅ 215.237µs (SLO: <250.000µs 📉 -13.9%) vs baseline: +0.5% Memory: ✅ 34.642MB (SLO: <35.500MB -2.4%) vs baseline: +4.9% ✅ 100-count-metrics-100-timesTime: ✅ 20.255ms (SLO: <22.000ms -7.9%) vs baseline: -1.0% Memory: ✅ 34.544MB (SLO: <35.500MB -2.7%) vs baseline: +4.5% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.284ms (SLO: <2.300ms 🟡 -0.7%) vs baseline: +0.9% Memory: ✅ 34.642MB (SLO: <35.500MB -2.4%) vs baseline: +4.9% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.409ms (SLO: <1.550ms -9.1%) vs baseline: +0.2% Memory: ✅ 34.583MB (SLO: <35.500MB -2.6%) vs baseline: +4.9% ✅ 100-rate-metrics-100-timesTime: ✅ 2.224ms (SLO: <2.550ms 📉 -12.8%) vs baseline: +0.5% Memory: ✅ 34.583MB (SLO: <35.500MB -2.6%) vs baseline: +4.9% ✅ flush-1-metricTime: ✅ 4.425µs (SLO: <20.000µs 📉 -77.9%) vs baseline: ~same Memory: ✅ 34.662MB (SLO: <35.500MB -2.4%) vs baseline: +5.0% ✅ flush-100-metricsTime: ✅ 173.705µs (SLO: <250.000µs 📉 -30.5%) vs baseline: ~same Memory: ✅ 34.662MB (SLO: <35.500MB -2.4%) vs baseline: +4.9% ✅ flush-1000-metricsTime: ✅ 2.122ms (SLO: <2.500ms 📉 -15.1%) vs baseline: -0.8% Memory: ✅ 35.389MB (SLO: <36.500MB -3.0%) vs baseline: +4.9%
|
This PR enables Python 3.14 compatibility for the IAST (Interactive Application Security Testing) test suite. The primary change involves migrating from pycryptodome to the cryptography library for cipher operations, as pycryptodome doesn't yet publish Python 3.14 wheels. Tests that require pycryptodome-specific functionality are now skipped on Python 3.14 with appropriate markers.
Additionally, the PR updates riot test configurations to include Python 3.14 in IAST test venvs, fixes reference counting tests to accommodate Python 3.14's JIT behavior, and adjusts test parallelism settings to improve CI performance. The changes maintain backward compatibility with earlier Python versions while unblocking IAST testing on the latest Python release.