mirror of
https://github.com/redis/go-redis.git
synced 2025-04-16 09:23:06 +03:00
* introduce github workflow for ci similar to the one in redis-py use prerelease for 8.0-M4 * Enable osscluster tests in CI * Add redis major version env Enable filtering test per redis major version Fix test for FT.SEARCH WITHSCORE, the default scorer has changed. fix Makefile syntax remove filter from github action fix makefile use the container name in Makefile * remove 1.20 from doctests * self review, cleanup, add comments * add comments, reorder prints, add default value for REDIS_MAJOR_VERSION
63 lines
2.1 KiB
YAML
63 lines
2.1 KiB
YAML
name: 'Run go-redis tests'
|
|
description: 'Runs go-redis tests against different Redis versions and configurations'
|
|
inputs:
|
|
go-version:
|
|
description: 'Go version to use for running tests'
|
|
default: '1.23'
|
|
redis-version:
|
|
description: 'Redis version to test against'
|
|
required: true
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Set up ${{ inputs.go-version }}
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ${{ inputs.go-version }}
|
|
|
|
- name: Setup Test environment
|
|
env:
|
|
REDIS_VERSION: ${{ inputs.redis-version }}
|
|
CLIENT_LIBS_TEST_IMAGE: "redislabs/client-libs-test:${{ inputs.redis-version }}"
|
|
run: |
|
|
set -e
|
|
redis_major_version=$(echo "$REDIS_VERSION" | grep -oP '^\d+')
|
|
if (( redis_major_version < 8 )); then
|
|
echo "Using redis-stack for module tests"
|
|
else
|
|
echo "Using redis CE for module tests"
|
|
fi
|
|
|
|
# Mapping of redis version to redis testing containers
|
|
declare -A redis_version_mapping=(
|
|
["8.0-M03"]="8.0-M04-pre"
|
|
["7.4.2"]="rs-7.4.0-v2"
|
|
["7.2.7"]="rs-7.2.0-v14"
|
|
)
|
|
|
|
if [[ -v redis_version_mapping[$REDIS_VERSION] ]]; then
|
|
echo "REDIS_MAJOR_VERSION=${redis_major_version}" >> $GITHUB_ENV
|
|
echo "REDIS_IMAGE=redis:${{ inputs.redis-version }}" >> $GITHUB_ENV
|
|
echo "CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test:${redis_version_mapping[$REDIS_VERSION]}" >> $GITHUB_ENV
|
|
else
|
|
echo "Version not found in the mapping."
|
|
exit 1
|
|
fi
|
|
sleep 10 # time to settle
|
|
shell: bash
|
|
- name: Set up Docker Compose environment with redis ${{ inputs.redis-version }}
|
|
run: docker compose --profile all up -d
|
|
shell: bash
|
|
- name: Run tests
|
|
env:
|
|
RCE_DOCKER: "true"
|
|
RE_CLUSTER: "false"
|
|
run: |
|
|
go test \
|
|
--ginkgo.skip-file="ring_test.go" \
|
|
--ginkgo.skip-file="sentinel_test.go" \
|
|
--ginkgo.skip-file="pubsub_test.go" \
|
|
--ginkgo.skip-file="gears_commands_test.go" \
|
|
--ginkgo.label-filter="!NonRedisEnterprise"
|
|
shell: bash
|