Skip to content

Commit

Permalink
Merge branch 'redis:master' into doc-2544
Browse files Browse the repository at this point in the history
  • Loading branch information
dwdougherty committed Aug 16, 2023
2 parents b42d19a + 28cc65c commit 724807a
Show file tree
Hide file tree
Showing 177 changed files with 13,885 additions and 7,375 deletions.
26 changes: 26 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[flake8]
max-line-length = 88
exclude =
*.egg-info,
*.pyc,
.git,
.tox,
.venv*,
build,
docs/*,
dist,
docker,
venv*,
.venv*,
whitelist.py,
tasks.py
ignore =
E126
E203
F405
N801
N802
N803
N806
N815
W503
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
labels:
- "maintenance"
schedule:
interval: "monthly"
29 changes: 29 additions & 0 deletions .github/spellcheck-settings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
matrix:
- name: Markdown
expect_match: false
apsell:
lang: en
d: en_US
ignore-case: true
dictionary:
wordlists:
- .github/wordlist.txt
output: wordlist.dic
pipeline:
- pyspelling.filters.markdown:
markdown_extensions:
- markdown.extensions.extra:
- pyspelling.filters.html:
comments: false
attributes:
- alt
ignores:
- ':matches(code, pre)'
- code
- pre
- blockquote
- img
sources:
- '*.md'
- 'docs/*.rst'
- 'docs/*.ipynb'
142 changes: 142 additions & 0 deletions .github/wordlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
APM
ARGV
BFCommands
CFCommands
CMSCommands
ClusterNode
ClusterNodes
ClusterPipeline
ClusterPubSub
ConnectionPool
CoreCommands
EVAL
EVALSHA
GraphCommands
Grokzen's
INCR
IOError
Instrumentations
JSONCommands
Jaeger
Ludovico
Magnocavallo
McCurdy
NOSCRIPT
NUMPAT
NUMPT
NUMSUB
OSS
OpenCensus
OpenTelemetry
OpenTracing
Otel
PubSub
READONLY
RediSearch
RedisBloom
RedisCluster
RedisClusterCommands
RedisClusterException
RedisClusters
RedisGraph
RedisInstrumentor
RedisJSON
RedisTimeSeries
SHA
SearchCommands
SentinelCommands
SentinelConnectionPool
Sharded
Solovyov
SpanKind
Specfiying
StatusCode
TCP
TOPKCommands
TimeSeriesCommands
Uptrace
ValueError
WATCHed
WatchError
api
args
async
asyncio
autoclass
automodule
backoff
bdb
behaviour
bool
boolean
booleans
bysource
charset
del
dev
eg
exc
firsttimersonly
fo
genindex
gmail
hiredis
http
idx
iff
ini
json
keyslot
keyspace
kwarg
linters
localhost
lua
makeapullrequest
maxdepth
mget
microservice
microservices
mset
multikey
mykey
nonatomic
observability
opentelemetry
oss
performant
pmessage
png
pre
psubscribe
pubsub
punsubscribe
py
pypi
quickstart
readonly
readwrite
redis
redismodules
reinitialization
replicaof
repo
runtime
sedrik
sharded
ssl
str
stunnel
subcommands
thevalueofmykey
timeseries
toctree
topk
tox
triaging
txt
un
unicode
url
virtualenv
www
47 changes: 47 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: Docs CI

on:
push:
branches:
- master
- '[0-9].[0-9]'
pull_request:
branches:
- master
- '[0-9].[0-9]'
schedule:
- cron: '0 1 * * *' # nightly build

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

permissions:
contents: read # to fetch code (actions/checkout)

jobs:

build-docs:
name: Build docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.9
cache: 'pip'
- name: install deps
run: |
sudo apt-get update -yqq
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
invoke build-docs
- name: upload docs
uses: actions/upload-artifact@v3
with:
name: redis-py-docs
path: |
docs/_build/html
85 changes: 68 additions & 17 deletions .github/workflows/integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ on:
schedule:
- cron: '0 1 * * *' # nightly build

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

permissions:
contents: read # to fetch code (actions/checkout)

Expand All @@ -26,7 +30,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: pypa/gh-action-pip-audit@v1.0.0
- uses: pypa/gh-action-pip-audit@v1.0.8
with:
inputs: requirements.txt dev_requirements.txt
ignore-vulns: |
Expand All @@ -48,11 +52,12 @@ jobs:
run-tests:
runs-on: ubuntu-latest
timeout-minutes: 30
timeout-minutes: 60
strategy:
max-parallel: 15
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', 'pypy-3.7', 'pypy-3.8']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', 'pypy-3.7', 'pypy-3.8', 'pypy-3.9']
test-type: ['standalone', 'cluster']
connection-type: ['hiredis', 'plain']
env:
Expand All @@ -67,32 +72,77 @@ jobs:
- name: run tests
run: |
pip install -U setuptools wheel
pip install -r requirements.txt
pip install -r dev_requirements.txt
tox -e ${{matrix.test-type}}-${{matrix.connection-type}}
- uses: actions/upload-artifact@v2
if [ "${{matrix.connection-type}}" == "hiredis" ]; then
pip install hiredis
fi
invoke devenv
sleep 10 # time to settle
invoke ${{matrix.test-type}}-tests
- uses: actions/upload-artifact@v3
if: success() || failure()
with:
name: pytest-results-${{matrix.test-type}}
name: pytest-results-${{matrix.test-type}}-${{matrix.connection-type}}-${{matrix.python-version}}
path: '${{matrix.test-type}}*results.xml'

- name: Upload codecov coverage
uses: codecov/codecov-action@v3
if: ${{matrix.python-version == '3.11'}}
with:
fail_ci_if_error: false
# - name: View Test Results
# uses: dorny/test-reporter@v1
# if: success() || failure()
# with:
# name: Test Results ${{matrix.python-version}} ${{matrix.test-type}}-${{matrix.connection-type}}
# path: '${{matrix.test-type}}*results.xml'
# reporter: java-junit
# list-suites: failed
# list-tests: failed
# max-annotations: 10

- name: View Test Results
uses: dorny/test-reporter@v1
if: success() || failure()
continue-on-error: true
with:
name: Test Results ${{matrix.python-version}} ${{matrix.test-type}}-${{matrix.connection-type}}
path: '*.xml'
reporter: java-junit
list-suites: all
list-tests: all
max-annotations: 10
fail-on-error: 'false'

resp3_tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.11']
test-type: ['standalone', 'cluster']
connection-type: ['hiredis', 'plain']
protocol: ['3']
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
name: RESP3 [${{ matrix.python-version }} ${{matrix.test-type}}-${{matrix.connection-type}}]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: run tests
run: |
pip install -U setuptools wheel
pip install -r requirements.txt
pip install -r dev_requirements.txt
if [ "${{matrix.connection-type}}" == "hiredis" ]; then
pip install hiredis
fi
invoke devenv
sleep 5 # time to settle
invoke ${{matrix.test-type}}-tests
invoke ${{matrix.test-type}}-tests --uvloop
build_and_test_package:
name: Validate building and installing the package
runs-on: ubuntu-latest
needs: [run-tests]
strategy:
fail-fast: false
matrix:
extension: ['tar.gz', 'whl']
steps:
Expand All @@ -108,8 +158,9 @@ jobs:
name: Install package from commit hash
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', 'pypy-3.7']
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', 'pypy-3.7', 'pypy-3.8', 'pypy-3.9']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
Expand Down

0 comments on commit 724807a

Please sign in to comment.