Skip to content

skip ssl import if not available #1

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

Open
wants to merge 198 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
198 commits
Select commit Hold shift + click to select a range
53de308
Client side caching invalidations (standalone) (#3089)
dvora-h Jan 1, 2024
6046d5f
fix acl_genpass with bits (#3062)
dvora-h Jan 1, 2024
aea5755
Partial clean up of Python 3.7 compatibility (#2928)
akx Jan 1, 2024
c6bbfca
Version 5.1.0b1 (#3093)
dvora-h Jan 1, 2024
a63ba91
Bump github/codeql-action from 2 to 3 (#3096)
dependabot[bot] Jan 2, 2024
4f3b894
Bump actions/upload-artifact from 3 to 4 (#3097)
dependabot[bot] Jan 2, 2024
6d77c6d
Bump actions/setup-python from 4 to 5 (#3095)
dependabot[bot] Jan 2, 2024
8cbf7f5
Support client side caching with ConnectionPool (#3099)
dvora-h Jan 7, 2024
b5d4d29
Version 5.1.0b2 (#3100)
dvora-h Jan 7, 2024
c7a13ae
Support client side caching with RedisCluster (#3102)
dvora-h Jan 9, 2024
63932bb
Always sending codecov (#3101)
chayim Jan 9, 2024
902754b
filter commits for main branch (#3036)
chayim Jan 9, 2024
f9b6a5e
fix(docs): organize cluster mode part of lua scripting (#3073)
mattwang44 Jan 9, 2024
bd4ce15
Fix typing for `HashCommand.hdel` (#3029)
dmkulazhenko Jan 9, 2024
18bb016
Adding lock_name to LockError (#3023)
TheBlusky Jan 9, 2024
fabc23e
Fix objlen type hint (#2966)
trkwyk Jan 9, 2024
4a66c1e
Fix type hint of arbitrary argument lists (#2908)
zxjlm Jan 9, 2024
273f032
Fix: hset unexpectedly mutates the list passed to items (#3103)
dvora-h Jan 11, 2024
df29566
Return a copy of the respnse from cache (#3106)
dvora-h Jan 11, 2024
254c8c0
Fix possible pipeline connections leak (#3104)
ING-XIAOJIAN Jan 11, 2024
562152b
CSC Review Fixes - expose delete functions, rename attribute names, a…
dvora-h Jan 15, 2024
908f2a5
Update install_requires (#3109)
dvora-h Jan 15, 2024
0a82496
Version 5.1.0b3 (#3112)
dvora-h Jan 15, 2024
70e2a13
Add modules support to async RedisCluster (#3115)
dvora-h Jan 21, 2024
1a7d474
Fix grammer in BlockingConnectionPool class documentation (#3120)
ahmedabdou14 Jan 23, 2024
2f88840
release already acquired connections on ClusterPipeline, when get_con…
zakaf Feb 4, 2024
b1ee455
Bump actions/stale from 3 to 9 (#3132)
dependabot[bot] Feb 4, 2024
7f63296
Bump codecov/codecov-action from 3 to 4 (#3131)
dependabot[bot] Feb 4, 2024
7df57e5
Allow to control the minimum SSL version (#3127)
poiuj Feb 5, 2024
6240ea1
docs: Add timeout parameter for get_message example (#3129)
hongqn Feb 5, 2024
6b89786
Revert stale isuue version update (#3142)
dvora-h Feb 12, 2024
4099d5e
Update connection.py (#3149)
wKollendorf Feb 19, 2024
2b2a2e0
Remove typing-extensions from deps (#3146)
akx Feb 19, 2024
ebb6171
Fix retry logic for pubsub and pipeline (#3134)
w-miller Feb 19, 2024
d529c2a
Fix incorrect asserts in test and ensure connections are closed (#3004)
kristjanvalur Feb 22, 2024
c573bc4
Fix bug: client side caching causes unexpected disconnections (#3160)
dvora-h Feb 28, 2024
26ab964
Fix bug: client side caching causes unexpected disconnections (async …
dvora-h Feb 29, 2024
9df2225
Version 5.1.0b4 (#3166)
dvora-h Feb 29, 2024
9ad1546
Fix lock error (#3176)
dvora-h Mar 7, 2024
2295707
Remove redundant async-timeout dependency in modern Python (#3177)
Zaczero Mar 10, 2024
0a03215
Bump rojopolis/spellcheck-github-actions from 0.35.0 to 0.36.0 (#3172)
dependabot[bot] Mar 10, 2024
4f8dfae
Bump release-drafter/release-drafter from 5 to 6 (#3171)
dependabot[bot] Mar 10, 2024
ddff7b5
Optimizing cluster initialization changing the checks for cluster-ena…
willianmrs Mar 12, 2024
5090875
Update asyncio_examples.ipynb (#3125)
matrey Mar 14, 2024
037d108
Avoid workflows canceling each other out (#3183)
gerzse Mar 18, 2024
07fc339
Update black version to 24.3.0 (#3193)
dvora-h Mar 27, 2024
64f291f
Adding twine check prior to package upload (#3198)
chayim May 5, 2024
3bd311c
Streamline client side caching API typing (#3216)
gerzse May 8, 2024
8afddde
Make it possible to customize SSL ciphers (#3212) (#3214)
gerzse May 8, 2024
4981761
Version 5.1.0b5 (#3224)
gerzse May 8, 2024
a2bcea2
Support the MAXAGE option for CLIENT KILL (#3187)
gerzse May 9, 2024
cd92428
Support NOVALUES parameter for HSCAN (#3157)
gerzse May 9, 2024
68d6d53
Fix CNs in test certificates (#3226)
gerzse May 14, 2024
0b20087
Document XREAD of last message (+) (#3188)
gerzse May 15, 2024
6751de2
Streamline documentation style (#3232)
gerzse May 15, 2024
cefc36e
Update ResponseT type alias (#3227)
willfrey May 20, 2024
de8b570
Use new Redis logo and website (#3233)
gerzse May 20, 2024
9a70f62
Fix typing for address_remap (fixes #3234) (#3235)
daveisfera May 21, 2024
9908a4d
Run pyupgrade for 3.8 (#3236)
daveisfera May 23, 2024
b7a85eb
Parse FT.PROFILE response more robustly (#3245)
gerzse May 24, 2024
85dafcc
More robust parsing of memory stats response (#3247)
gerzse May 28, 2024
0d47d65
Add missing type hints for backoff.py (#3249)
max-muoto May 28, 2024
9fd5576
Fix parsing of INFO response (#3265)
gerzse Jun 5, 2024
ff7821d
Use standard Redis docker image in CI (#3246)
gerzse Jun 6, 2024
27accc8
Hash field expiration commands (#3218)
gerzse Jun 6, 2024
3a0c724
Version 5.1.0b6 (#3269)
gerzse Jun 6, 2024
9d85723
Timeseries insertion filters for close samples (#3228)
gerzse Jun 12, 2024
29b861b
Add extra tests for GEO search (#3244)
gerzse Jun 12, 2024
5115145
Support missing and empty values in search (#3231)
gerzse Jun 13, 2024
6de9696
Test special characters escaping in search (#3276)
gerzse Jun 13, 2024
733f800
Move code samples to master branch (#3271)
andy-stark-redis Jun 13, 2024
93ae56a
Bump rojopolis/spellcheck-github-actions from 0.36.0 to 0.37.0 (#3260)
dependabot[bot] Jun 13, 2024
69d9606
Add missing asserts in json tests (#3261)
enjoy-binbin Jun 14, 2024
9ae3d97
Bump actions/stale from 3 to 9 (#3170)
dependabot[bot] Jun 14, 2024
893efc3
Handle lists in the response of INFO (#3278)
gerzse Jun 14, 2024
8769601
Small fixes to comments (#3280)
andy-stark-redis Jun 18, 2024
017f767
Improve parsing of XINFO STREAM response (#3282)
Wh1isper Jun 18, 2024
04391fd
Make sure the CI actually runs RESP3 tests (#3270)
gerzse Jun 19, 2024
caf4b20
Add CODECOV token to CI (#3285)
gerzse Jun 19, 2024
d288a29
Do not restrict pytest dependencies versions (#3286)
gerzse Jun 19, 2024
12b040e
Re-enable Graph tests (#3287)
gerzse Jun 20, 2024
70b4f48
Version 5.1.0b7 (#3288)
gerzse Jun 20, 2024
b7f9a4c
Fixes CAE-333 (#3290)
dmaier-redislabs Jun 25, 2024
54e1f0c
Bump rojopolis/spellcheck-github-actions from 0.37.0 to 0.38.0 (#3301)
dependabot[bot] Jul 3, 2024
ee2a98b
Add missing type hints for `retry.py` (#3250)
max-muoto Jul 3, 2024
57af285
Add details to the asyncio connection error message (#3211)
dkuser Jul 3, 2024
04962e0
Prepare for Redis 7.4 RC2 (#3303)
gerzse Jul 4, 2024
0be67bf
Format connection errors in the same way everywhere (#3305)
gerzse Jul 4, 2024
1bb8eab
Decode search results at field level (#3309)
uglide Jul 10, 2024
d1b4191
Add support for Python 3.12 (#2979)
chayim Jul 11, 2024
b2179f6
Close Unix sockets if the connection attempt fails (#3315)
kurtmckee Jul 17, 2024
b206a0f
Suppress `Graph` deprecation warning in test suite (#3316)
kurtmckee Jul 17, 2024
9607608
Close SSL sockets when connections/validations fail (#3318)
kurtmckee Jul 17, 2024
7e2b4fb
Upgrade Flake8 (#3323)
gerzse Jul 18, 2024
2ffcac3
Resolve some docs warnings (#3322)
kurtmckee Jul 18, 2024
fd0b0d3
Handle RESP3 sets as Python lists (#3324)
gerzse Jul 22, 2024
fb74aa2
Added support for ADDSCORES modifier (#3329)
vladvildanov Jul 30, 2024
1cbb97e
Updated commands from docker-compose to docker compose (#3352)
vladvildanov Aug 9, 2024
76bf989
Added version restrictions for pytest-asyncio (#3362)
vladvildanov Sep 2, 2024
147f7ca
Add `hostname` field to _parse_node_line (#3343)
dudizimber Sep 2, 2024
77e09b7
More docs fixes (#3326)
kurtmckee Sep 2, 2024
c6faa65
Ignore a coverage warning re: sysmon on Pythons < 3.12 (#3334)
kurtmckee Sep 2, 2024
93b9d85
Delete the first-defined (and thus "duplicate") `Script` class (#3333)
kurtmckee Sep 2, 2024
b4fcbaa
Catch a known `DeprecationWarning` when calling `.close()` (#3335)
kurtmckee Sep 2, 2024
6c94faa
Update PyPy 3.8 to 3.10 in CI (#3370)
vladvildanov Sep 4, 2024
e00f3d2
Add missed redismod at test_commands.py (#3369)
catap Sep 4, 2024
2fb40c1
TCEs for select command pages (#3361)
dwdougherty Sep 6, 2024
cbb129d
Update README.md - mentioning redis 7.4 support (#3375)
TomerHekmati Sep 9, 2024
0c8a986
DOC-4194: add TCEs to the exact match query page (#3372)
dwdougherty Sep 11, 2024
64d4bb8
DOC-4194: add TCEs to the range query page (#3374)
dwdougherty Sep 11, 2024
c7483b3
DOC-4196: add TCEs to the full-text query page (#3377)
dwdougherty Sep 12, 2024
7d73d74
DOC-4197: add TCEs to the geospatial query page (#3378)
dwdougherty Sep 12, 2024
2e46613
Client side caching refactoring (#3350)
vladvildanov Sep 27, 2024
700045c
Backport 5.1 changes into master (#3406)
vladvildanov Oct 7, 2024
17db62e
DOC-4200: add TCEs to the aggregation query page (#3381)
dwdougherty Oct 9, 2024
d6ddb0d
DOC-4199: add TCEs to the combined query page (#3380)
dwdougherty Oct 16, 2024
4c4d4af
Pin pytest-profiling (#3417)
uglide Oct 21, 2024
00f5be4
adds scorer to AggregateRequest (#3409)
rbs333 Oct 22, 2024
3d45064
Migrate to clients test image (#3415)
uglide Nov 21, 2024
c73a43d
Fixed unsecured tempfile.mktemp() command usage (#3446)
vladvildanov Nov 28, 2024
db8918c
Fixed bug with SLOWLOG GET response parsing from Redis Enterprise (#3…
vladvildanov Dec 5, 2024
5043b69
Fixed issue with invoking _close() on closed event loop (#3438)
vladvildanov Dec 5, 2024
9d5751d
Fixing randomly failing test (#3437)
IlianIliev Dec 5, 2024
8f2276e
DOC-4560 pipe/transaction examples (#3449)
andy-stark-redis Dec 9, 2024
40e5fc1
StreamingCredentialProvider support (#3445)
vladvildanov Dec 20, 2024
3208809
add missing dependency (#3462)
woutdenolf Dec 23, 2024
8e2f2d3
Added workflow_dispatch for pypi release workflow (#3465)
vladvildanov Dec 23, 2024
a694a79
Fixed flacky TokenManager test (#3468)
vladvildanov Dec 30, 2024
e8e6d99
Fix incorrect attribute reuse (#3456)
zs-neo Dec 30, 2024
49e434e
Expand type for EncodedT (#3472)
hauntsaninja Jan 6, 2025
9dfaeae
Moved self._lock initialisation to Pool constructor (#3473)
vladvildanov Jan 6, 2025
7a6b412
Changed default dialect to 2 (#3467)
vladvildanov Jan 9, 2025
fab31b4
Moved ClusterParser exceptions to BaseParser class (#3475)
vladvildanov Jan 15, 2025
afabed6
DOC-4423: add TCEs for various command pages (#3476)
dwdougherty Jan 17, 2025
eff310f
DOC-4345 added testable JSON search examples for home page (#3407)
andy-stark-redis Jan 21, 2025
b2dd8e8
Added Redis 8.0 to test matrix (#3469)
vladvildanov Jan 21, 2025
e090651
Updated test infrastructure with latest versions (#3484)
vladvildanov Jan 28, 2025
03031a2
Adding unit text fixes to improve compatibility with MacOS. (#3486)
petyaslavova Jan 28, 2025
2427365
fix: update redis university url, the old link doesn't work (#3481)
niklasbec Jan 28, 2025
ceb12fe
Adding tests for modules ACL and modules config changes in 8.0 (#3489)
petyaslavova Jan 30, 2025
c675a56
Add return type to `close` functions (#3496)
patrick91 Feb 4, 2025
b7d4c48
Update Python imports in doctests (index_definition => indexDefinitio…
dwdougherty Feb 4, 2025
d989bcc
Add types to ConnectionPool.from_url (#3495)
patrick91 Feb 4, 2025
5342409
Add types to execute method of pipelines (#3494)
patrick91 Feb 6, 2025
4d5e417
DOC-4796 fixed capped lists example (#3493)
andy-stark-redis Feb 6, 2025
f76afb2
Adding deprecation messages for the exposed in search module commands…
petyaslavova Feb 7, 2025
9eab6fe
typing for client __init__ (#3357)
Vulwsztyn Feb 10, 2025
86a0d7a
Since commands info and ft.info do not return redundant information -…
petyaslavova Feb 10, 2025
72cdaf6
test: Updated CredentialProvider test infrastructure (#3502)
vladvildanov Feb 11, 2025
f037919
Fixes minor grammar nit in documentation. (#3354)
cavemanpi Feb 11, 2025
b8a0503
maintenance: Adding Python 3.13 compatibility (#3510)
vladvildanov Feb 13, 2025
e1b8163
Fix Incorrect markdown formatting for example in connection_examples.…
paololazzari Feb 13, 2025
7ddb747
Adding unit test for core info command related to modules info (#3507)
petyaslavova Feb 13, 2025
db74c1a
Replacing the redis and redis-stack-server images with redis-libs-tes…
petyaslavova Feb 13, 2025
8b53a9d
Fix formatting in README.md - 'Note' - bold formatting (#3413)
BaseMax Feb 13, 2025
746653a
Adding dev_requirements.txt and pytest.ini resources into sdist. Fix…
petyaslavova Feb 13, 2025
60f24a9
Reinitialize the cluster in case of TimeoutError inside a pipeline (#…
mbilski Feb 17, 2025
05e3094
Fix inaccurate docstring for unwatch() (#3424)
djroze Feb 18, 2025
799716c
Fix invalid return type annotation (#3480)
birthdaysgift Feb 19, 2025
8427c7b
Deprecating unused arguments in connection pools's get_connection fun…
petyaslavova Feb 20, 2025
75cac31
Type hint Lock.extend's additional_time as a Number (#3522)
Perlence Feb 21, 2025
d867660
Remove decreasing of created connections count when releasing not own…
petyaslavova Feb 24, 2025
483c021
Switch to PEP 517 packaging using hatchling (#2930)
akx Feb 25, 2025
4418907
Removing the requirements.txt from docs building dependencies (#3527)
petyaslavova Feb 25, 2025
cf2341f
Installing redis and its mandatory dependencies when building readthe…
petyaslavova Feb 25, 2025
ac3112d
Adding vector search tests for types int8/uint8 (#3525)
petyaslavova Feb 25, 2025
f0f22db
Fixing wrong type hints (#3526)
petyaslavova Feb 25, 2025
97a56e9
Fix readthedocs.yml format for python install configuration (#3529)
petyaslavova Feb 26, 2025
6f752b0
Add valid Exception type to Except in ClusterPipeline (#3516)
bssyousefi Feb 26, 2025
dbbe7a7
Make PyJWT an optional dependency (#3518)
akx Feb 27, 2025
dd0c492
Add force_master_ip support to async Sentinel client (#3524)
666romeo Feb 27, 2025
577b4ac
Fixing typing for FCALL commands to match PEP 484 (#3537)
vladvildanov Feb 28, 2025
2fb2f47
fix(lock): Fix LockError message when releasing a lock. (#3534)
shenxiangzhuang Mar 4, 2025
20c4475
Bump rojopolis/spellcheck-github-actions from 0.38.0 to 0.47.0 (#3538)
dependabot[bot] Mar 4, 2025
805848a
Fix client_list with multiple client ids (#3539)
three-kinds Mar 4, 2025
b9af374
Fix connection health check for protocol != 2 when auth credentials a…
Yard1 Mar 5, 2025
5891109
Isolate redis-entraid dependency for tests (#3521)
akx Mar 5, 2025
4122f7c
Replace flake8+isort+black with `ruff` (#3147)
akx Mar 5, 2025
8314b7f
Correct the typedef of lock.extend() to accept floats, and test that …
nbertram Mar 6, 2025
b8ba391
Removing deprecated usage of forbid_global_loop=True in pytest.mark.a…
petyaslavova Mar 6, 2025
601c1aa
(tests): Added testing for auth via DefaultAzureCredential (#3544)
vladvildanov Mar 6, 2025
187d800
Fix AttributeError when client.get_default_node() returns None (#3458)
bacchuswng Mar 10, 2025
50943e0
feat: adds option not to raise exception when leaving context manager…
julianolm Mar 10, 2025
d8b2afa
Got rid of `time.time()`- replacing it with time.monotonic(). (#3551)
excitoon Mar 10, 2025
c9a277e
allow more recent pyopenssl (#3541)
dimbleby Mar 10, 2025
09b1376
Fix #3464: Correct misleading exception_handler example in docs (#3474)
byeongjulee222 Mar 10, 2025
ac3b147
Removing support for RedisGraph module. (#3548)
petyaslavova Mar 11, 2025
e4b6de1
DOC-4736 added geo indexing examples (#3485)
andy-stark-redis Mar 11, 2025
700a244
Fixing async cluster pipeline execution when client is created with c…
petyaslavova Mar 12, 2025
ea01a30
Avoid the multiprocessing forkserver method (#3442)
befeleme Mar 12, 2025
fa3a0ca
Avoid stacktrace on process exit in Client.__del__() (#3397)
noirbee Mar 12, 2025
1b61efd
skip `ssl` import if not available
dicej Mar 12, 2025
daf6655
Increasing the operations-per-run for stale issues GH action (#3556)
petyaslavova Mar 13, 2025
247a091
Merge branch 'master' into no-ssl
petyaslavova Mar 13, 2025
922c689
Removing support for RedisGears module. (#3553)
petyaslavova Mar 13, 2025
6e1411e
address review feedback and fix lint errors
dicej Mar 13, 2025
2ec117f
Merge branch 'master' into no-ssl
petyaslavova Mar 13, 2025
7a79a9f
remove TYPE_CHECKING clause from ssl conditional
dicej Mar 13, 2025
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
25 changes: 0 additions & 25 deletions .flake8

This file was deleted.

146 changes: 146 additions & 0 deletions .github/actions/run-tests/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: 'Run redis-py tests'
description: 'Runs redis-py tests against different Redis versions and configurations'
inputs:
python-version:
description: 'Python version to use for running tests'
default: '3.12'
parser-backend:
description: 'Parser backend to use: plain or hiredis'
required: true
redis-version:
description: 'Redis version to test against'
required: true
hiredis-version:
description: 'hiredis version to test against'
required: false
default: '>3.0.0'
event-loop:
description: 'Event loop to use'
required: false
default: 'asyncio'
runs:
using: "composite"
steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}
cache: 'pip'

- name: Setup Test environment
env:
REDIS_VERSION: ${{ inputs.redis-version }}
CLIENT_LIBS_TEST_IMAGE_TAG: ${{ inputs.redis-version }}
run: |
set -e

echo "::group::Installing dependencies"
pip install -r dev_requirements.txt
pip uninstall -y redis # uninstall Redis package installed via redis-entraid
pip install -e .[jwt] # install the working copy
if [ "${{inputs.parser-backend}}" == "hiredis" ]; then
pip install "hiredis${{inputs.hiredis-version}}"
echo "PARSER_BACKEND=$(echo "${{inputs.parser-backend}}_${{inputs.hiredis-version}}" | sed 's/[^a-zA-Z0-9]/_/g')" >> $GITHUB_ENV
else
echo "PARSER_BACKEND=${{inputs.parser-backend}}" >> $GITHUB_ENV
fi
echo "::endgroup::"

echo "::group::Starting Redis servers"
redis_major_version=$(echo "$REDIS_VERSION" | grep -oP '^\d+')

if (( redis_major_version < 8 )); then
echo "Using redis-stack for module tests"

# Mapping of redis version to stack version
declare -A redis_stack_version_mapping=(
["7.4.2"]="rs-7.4.0-v2"
["7.2.7"]="rs-7.2.0-v14"
["6.2.17"]="rs-6.2.6-v18"
)

if [[ -v redis_stack_version_mapping[$REDIS_VERSION] ]]; then
export CLIENT_LIBS_TEST_STACK_IMAGE_TAG=${redis_stack_version_mapping[$REDIS_VERSION]}
echo "REDIS_MOD_URL=redis://127.0.0.1:6479/0" >> $GITHUB_ENV
else
echo "Version not found in the mapping."
exit 1
fi

if (( redis_major_version < 7 )); then
export REDIS_STACK_EXTRA_ARGS="--tls-auth-clients optional --save ''"
export REDIS_EXTRA_ARGS="--tls-auth-clients optional --save ''"
echo "REDIS_MAJOR_VERSION=${redis_major_version}" >> $GITHUB_ENV
fi

invoke devenv --endpoints=all-stack
else
echo "Using redis CE for module tests"
echo "REDIS_MOD_URL=redis://127.0.0.1:6379" >> $GITHUB_ENV
invoke devenv --endpoints all
fi

sleep 10 # time to settle
echo "::endgroup::"
shell: bash

- name: Run tests
run: |
set -e

run_tests() {
local protocol=$1
local eventloop=""

if [ "${{inputs.event-loop}}" == "uvloop" ]; then
eventloop="--uvloop"
fi

echo "::group::RESP${protocol} standalone tests"
echo "REDIS_MOD_URL=${REDIS_MOD_URL}"

if (( $REDIS_MAJOR_VERSION < 7 )) && [ "$protocol" == "3" ]; then
echo "Skipping module tests: Modules doesn't support RESP3 for Redis versions < 7"
invoke standalone-tests --redis-mod-url=${REDIS_MOD_URL} $eventloop --protocol="${protocol}" --extra-markers="not redismod and not cp_integration"
else
invoke standalone-tests --redis-mod-url=${REDIS_MOD_URL} $eventloop --protocol="${protocol}"
fi

echo "::endgroup::"

if [ "$protocol" == "2" ] || [ "${{inputs.parser-backend}}" != 'hiredis' ]; then
echo "::group::RESP${protocol} cluster tests"
invoke cluster-tests $eventloop --protocol=${protocol}
echo "::endgroup::"
fi
}

run_tests 2 "${{inputs.event-loop}}"
run_tests 3 "${{inputs.event-loop}}"
shell: bash

- name: Debug
if: failure()
run: |
sudo apt-get install -y redis-tools
echo "Docker Containers:"
docker ps
redis-cli -p 16379 CLUSTER NODES
shell: bash

- name: Upload test results and profiling data
uses: actions/upload-artifact@v4
with:
name: pytest-results-redis_${{inputs.redis-version}}-python_${{inputs.python-version}}-parser_${{env.PARSER_BACKEND}}-el_${{inputs.event-loop}}
path: |
*-results.xml
prof/**
profile_output*
if-no-files-found: error
retention-days: 10

- name: Upload codecov coverage
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: false
11 changes: 9 additions & 2 deletions .github/release-drafter-config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name-template: '$NEXT_MINOR_VERSION'
tag-template: 'v$NEXT_MINOR_VERSION'
filter-by-commitish: true
commitish: master
autolabeler:
- label: 'maintenance'
files:
Expand All @@ -15,7 +17,7 @@ autolabeler:
branch:
- '/feature-.+'
categories:
- title: 'Breaking Changes'
- title: '🔥 Breaking Changes'
labels:
- 'breakingchange'
- title: '🧪 Experimental Features'
Expand All @@ -32,7 +34,12 @@ categories:
- 'bug'
- 'BUG'
- title: '🧰 Maintenance'
label: 'maintenance'
labels:
- 'maintenance'
- 'dependencies'
- 'documentation'
- 'docs'
- 'testing'
change-template: '- $TITLE (#$NUMBER)'
exclude-labels:
- 'skip-changelog'
Expand Down
6 changes: 4 additions & 2 deletions .github/wordlist.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
APM
ARGV
BFCommands
CacheImpl
CFCommands
CMSCommands
ClusterNode
Expand All @@ -11,7 +12,6 @@ ConnectionPool
CoreCommands
EVAL
EVALSHA
GraphCommands
Grokzen's
INCR
IOError
Expand All @@ -38,7 +38,6 @@ RedisCluster
RedisClusterCommands
RedisClusterException
RedisClusters
RedisGraph
RedisInstrumentor
RedisJSON
RedisTimeSeries
Expand Down Expand Up @@ -74,6 +73,8 @@ bysource
charset
del
dev
docstring
docstrings
eg
exc
firsttimersonly
Expand Down Expand Up @@ -139,3 +140,4 @@ unicode
url
virtualenv
www
yaml
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
Expand All @@ -51,7 +51,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

# ℹ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
Expand All @@ -65,4 +65,4 @@ jobs:
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
8 changes: 4 additions & 4 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- cron: '0 1 * * *' # nightly build

concurrency:
group: ${{ github.event.pull_request.number || github.ref }}
group: ${{ github.event.pull_request.number || github.ref }}-docs
cancel-in-progress: true

permissions:
Expand All @@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: 3.9
cache: 'pip'
Expand All @@ -36,11 +36,11 @@ jobs:
sudo apt-get install -yqq pandoc make
- name: run code linters
run: |
pip install -r requirements.txt -r dev_requirements.txt -r docs/requirements.txt
pip install -r dev_requirements.txt -r docs/requirements.txt
invoke build-docs

- name: upload docs
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: redis-py-docs
path: |
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/install_and_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ python -m venv ${DESTENV}
source ${DESTENV}/bin/activate
pip install --upgrade --quiet pip
pip install --quiet -r dev_requirements.txt
invoke devenv
pip uninstall -y redis # uninstall Redis package installed via redis-entraid
invoke devenv --endpoints=all-stack
invoke package

# find packages
Expand All @@ -42,4 +43,6 @@ pip install ${PKG}
pytest -m 'not onlycluster'
# RedisCluster tests
CLUSTER_URL="redis://localhost:16379/0"
pytest -m 'not onlynoncluster and not redismod and not ssl' --redis-url=${CLUSTER_URL}
CLUSTER_SSL_URL="rediss://localhost:27379/0"
pytest -m 'not onlynoncluster and not redismod and not ssl' \
--redis-url="${CLUSTER_URL}" --redis-ssl-url="${CLUSTER_SSL_URL}"
Loading