| 
 | 1 | +name: 'Run go-redis tests'  | 
 | 2 | +description: 'Runs go-redis tests against different Redis versions and configurations'  | 
 | 3 | +inputs:  | 
 | 4 | +  go-version:  | 
 | 5 | +    description: 'Go version to use for running tests'  | 
 | 6 | +    default: '1.23'  | 
 | 7 | +  redis-version:  | 
 | 8 | +    description: 'Redis version to test against'  | 
 | 9 | +    required: true  | 
 | 10 | +runs:  | 
 | 11 | +  using: "composite"  | 
 | 12 | +  steps:  | 
 | 13 | +    - name: Set up ${{ inputs.go-version }}  | 
 | 14 | +      uses: actions/setup-go@v5  | 
 | 15 | +      with:  | 
 | 16 | +        go-version: ${{ inputs.go-version }}  | 
 | 17 | + | 
 | 18 | +    - name: Setup Test environment  | 
 | 19 | +      env:  | 
 | 20 | +        REDIS_VERSION: ${{ inputs.redis-version }}  | 
 | 21 | +        CLIENT_LIBS_TEST_IMAGE: "redislabs/client-libs-test:${{ inputs.redis-version }}"  | 
 | 22 | +      run: |  | 
 | 23 | +        set -e  | 
 | 24 | +        redis_major_version=$(echo "$REDIS_VERSION" | grep -oP '^\d+')  | 
 | 25 | +        if (( redis_major_version < 8 )); then  | 
 | 26 | +          echo "Using redis-stack for module tests"  | 
 | 27 | +        else  | 
 | 28 | +          echo "Using redis CE for module tests"  | 
 | 29 | +        fi          | 
 | 30 | +          | 
 | 31 | +        # Mapping of redis version to redis testing containers  | 
 | 32 | +        declare -A redis_version_mapping=(  | 
 | 33 | +          ["8.0-M03"]="8.0-M04-pre"  | 
 | 34 | +          ["7.4.2"]="rs-7.4.0-v2"  | 
 | 35 | +          ["7.2.7"]="rs-7.2.0-v14"  | 
 | 36 | +        )  | 
 | 37 | +          | 
 | 38 | +        if [[ -v redis_version_mapping[$REDIS_VERSION] ]]; then  | 
 | 39 | +          echo "REDIS_MAJOR_VERSION=${redis_major_version}" >> $GITHUB_ENV  | 
 | 40 | +          echo "REDIS_IMAGE=redis:${{ inputs.redis-version }}" >> $GITHUB_ENV  | 
 | 41 | +          echo "CLIENT_LIBS_TEST_IMAGE=redislabs/client-libs-test:${redis_version_mapping[$REDIS_VERSION]}" >> $GITHUB_ENV  | 
 | 42 | +        else  | 
 | 43 | +          echo "Version not found in the mapping."  | 
 | 44 | +          exit 1  | 
 | 45 | +        fi  | 
 | 46 | +        sleep 10 # time to settle  | 
 | 47 | +      shell: bash  | 
 | 48 | +    - name: Set up Docker Compose environment with redis ${{ inputs.redis-version }}  | 
 | 49 | +      run: docker compose --profile all up -d  | 
 | 50 | +      shell: bash  | 
 | 51 | +    - name: Run tests  | 
 | 52 | +      env:  | 
 | 53 | +        RCE_DOCKER: "true"  | 
 | 54 | +        RE_CLUSTER: "false"  | 
 | 55 | +      run: |  | 
 | 56 | +        go test \  | 
 | 57 | +        --ginkgo.skip-file="ring_test.go" \  | 
 | 58 | +        --ginkgo.skip-file="sentinel_test.go" \  | 
 | 59 | +        --ginkgo.skip-file="pubsub_test.go" \  | 
 | 60 | +        --ginkgo.skip-file="gears_commands_test.go" \  | 
 | 61 | +        --ginkgo.label-filter="!NonRedisEnterprise"  | 
 | 62 | +      shell: bash  | 
0 commit comments