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_version_np=$(echo "$REDIS_VERSION" | grep -oP '^\d+.\d+') # Mapping of redis version to redis testing containers declare -A redis_version_mapping=( ["8.0-M05"]="8.0-M05-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_VERSION=${redis_version_np}" >> $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 # wait for redis to start shell: bash - name: Set up Docker Compose environment with redis ${{ inputs.redis-version }} run: | make docker.start shell: bash - name: Run tests env: RCE_DOCKER: "true" RE_CLUSTER: "false" run: | make test.ci shell: bash