1818      TERM : xterm  #  Enable color output in GitHub Actions
1919    steps :
2020    - name : Checkout code 
21-       uses : actions/checkout@v1 
21+       uses : actions/checkout@v4 
22+       with :
23+         fetch-depth : 0   #  Fetch the full history
24+     - name : Start Redis Services (docker-compose) 
25+       working-directory : ./tests/RedisConfigs 
26+       run : docker compose -f docker-compose.yml up -d --wait            
2227    - name : Install .NET SDK 
2328      uses : actions/setup-dotnet@v3 
2429      with :
2732          8.0.x 
2833     - name : .NET Build 
2934      run : dotnet build Build.csproj -c Release /p:CI=true 
30-     - name : Start Redis Services (docker-compose) 
31-       working-directory : ./tests/RedisConfigs 
32-       run : docker compose -f docker-compose.yml up -d --wait 
3335    - name : StackExchange.Redis.Tests 
3436      run : dotnet test tests/StackExchange.Redis.Tests/StackExchange.Redis.Tests.csproj -c Release --logger trx --logger GitHubActions --results-directory ./test-results/ /p:CI=true 
3537    - uses : dorny/test-reporter@v1 
@@ -52,39 +54,85 @@ jobs:
5254      DOCKER_BUILDKIT : 1 
5355    steps :
5456    - name : Checkout code 
55-       uses : actions/checkout@v1 
56-     #  - name: Install .NET SDK
57-     #    uses: actions/setup-dotnet@v3
58-     #    with:
59-     #      dotnet-version: | 
60-     #        6.0.x
61-     #        8.0.x
57+       uses : actions/checkout@v4 
58+       with :
59+         fetch-depth : 0   #  Fetch the full history
60+     - uses : Vampire/setup-wsl@v2 
61+       with :
62+         distribution : Ubuntu-22.04 
63+     - name : Install Redis 
64+       shell : wsl-bash {0} 
65+       working-directory : ./tests/RedisConfigs 
66+       run : | 
67+         apt-get update 
68+         apt-get install curl gpg lsb-release libgomp1 jq -y 
69+         curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg 
70+         chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg 
71+         echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list 
72+         apt-get update 
73+         apt-get install -y redis 
74+         mkdir redis 
75+      - name : Run redis-server 
76+       shell : wsl-bash {0} 
77+       working-directory : ./tests/RedisConfigs/redis 
78+       run : | 
79+         pwd 
80+         ls . 
81+         # Run each server instance in order 
82+         redis-server ../Basic/primary-6379.conf & 
83+         redis-server ../Basic/replica-6380.conf & 
84+         redis-server ../Basic/secure-6381.conf & 
85+         redis-server ../Failover/primary-6382.conf & 
86+         redis-server ../Failover/replica-6383.conf & 
87+         redis-server ../Cluster/cluster-7000.conf --dir ../Cluster & 
88+         redis-server ../Cluster/cluster-7001.conf --dir ../Cluster & 
89+         redis-server ../Cluster/cluster-7002.conf --dir ../Cluster & 
90+         redis-server ../Cluster/cluster-7003.conf --dir ../Cluster & 
91+         redis-server ../Cluster/cluster-7004.conf --dir ../Cluster & 
92+         redis-server ../Cluster/cluster-7005.conf --dir ../Cluster & 
93+         redis-server ../Sentinel/redis-7010.conf & 
94+         redis-server ../Sentinel/redis-7011.conf & 
95+         redis-server ../Sentinel/sentinel-26379.conf --sentinel & 
96+         redis-server ../Sentinel/sentinel-26380.conf --sentinel & 
97+         redis-server ../Sentinel/sentinel-26381.conf --sentinel & 
98+         # Wait for server instances to get ready 
99+         sleep 5 
100+         echo "Checking redis-server version with port 6379" 
101+         redis-cli -p 6379 INFO SERVER | grep redis_version || echo "Failed to get version for port 6379" 
102+         echo "Checking redis-server version with port 6380" 
103+         redis-cli -p 6380 INFO SERVER | grep redis_version || echo "Failed to get version for port 6380" 
104+         echo "Checking redis-server version with port 6381" 
105+         redis-cli -p 6381 INFO SERVER | grep redis_version || echo "Failed to get version for port 6381" 
106+         echo "Checking redis-server version with port 6382" 
107+         redis-cli -p 6382 INFO SERVER | grep redis_version || echo "Failed to get version for port 6382" 
108+         echo "Checking redis-server version with port 6383" 
109+         redis-cli -p 6383 INFO SERVER | grep redis_version || echo "Failed to get version for port 6383" 
110+         echo "Checking redis-server version with port 7000" 
111+         redis-cli -p 7000 INFO SERVER | grep redis_version || echo "Failed to get version for port 7000" 
112+         echo "Checking redis-server version with port 7001" 
113+         redis-cli -p 7001 INFO SERVER | grep redis_version || echo "Failed to get version for port 7001" 
114+         echo "Checking redis-server version with port 7002" 
115+         redis-cli -p 7002 INFO SERVER | grep redis_version || echo "Failed to get version for port 7002" 
116+         echo "Checking redis-server version with port 7003" 
117+         redis-cli -p 7003 INFO SERVER | grep redis_version || echo "Failed to get version for port 7003" 
118+         echo "Checking redis-server version with port 7004" 
119+         redis-cli -p 7004 INFO SERVER | grep redis_version || echo "Failed to get version for port 7004" 
120+         echo "Checking redis-server version with port 7005" 
121+         redis-cli -p 7005 INFO SERVER | grep redis_version || echo "Failed to get version for port 7005" 
122+         echo "Checking redis-server version with port 7010" 
123+         redis-cli -p 7010 INFO SERVER | grep redis_version || echo "Failed to get version for port 7010" 
124+         echo "Checking redis-server version with port 7011" 
125+         redis-cli -p 7011 INFO SERVER | grep redis_version || echo "Failed to get version for port 7011" 
126+         echo "Checking redis-server version with port 26379" 
127+         redis-cli -p 26379 INFO SERVER | grep redis_version || echo "Failed to get version for port 26379" 
128+         echo "Checking redis-server version with port 26380" 
129+         redis-cli -p 26380 INFO SERVER | grep redis_version || echo "Failed to get version for port 26380" 
130+         echo "Checking redis-server version with port 26381" 
131+         redis-cli -p 26381 INFO SERVER | grep redis_version || echo "Failed to get version for port 26381" 
132+        continue-on-error : true 
133+ 
62134    - name : .NET Build 
63135      run : dotnet build Build.csproj -c Release /p:CI=true 
64-     #  We can't do this combination - see https://github.com/actions/runner/issues/904
65-     #  - name: Start Redis Services (docker-compose)
66-     #    working-directory: .\tests\RedisConfigs
67-     #    run: docker compose -f docker-compose.yml up -d --wait
68-     - name : Start Redis Services (v3.0.503) 
69-       working-directory : .\tests\RedisConfigs\3.0.503 
70-       run : | 
71-         .\redis-server.exe --service-install --service-name "redis-6379" "..\Basic\primary-6379-3.0.conf" 
72-         .\redis-server.exe --service-install --service-name "redis-6380" "..\Basic\replica-6380.conf" 
73-         .\redis-server.exe --service-install --service-name "redis-6381" "..\Basic\secure-6381.conf" 
74-         .\redis-server.exe --service-install --service-name "redis-6382" "..\Failover\primary-6382.conf" 
75-         .\redis-server.exe --service-install --service-name "redis-6383" "..\Failover\replica-6383.conf" 
76-         .\redis-server.exe --service-install --service-name "redis-7000" "..\Cluster\cluster-7000.conf" --dir "..\Cluster" 
77-         .\redis-server.exe --service-install --service-name "redis-7001" "..\Cluster\cluster-7001.conf" --dir "..\Cluster" 
78-         .\redis-server.exe --service-install --service-name "redis-7002" "..\Cluster\cluster-7002.conf" --dir "..\Cluster" 
79-         .\redis-server.exe --service-install --service-name "redis-7003" "..\Cluster\cluster-7003.conf" --dir "..\Cluster" 
80-         .\redis-server.exe --service-install --service-name "redis-7004" "..\Cluster\cluster-7004.conf" --dir "..\Cluster" 
81-         .\redis-server.exe --service-install --service-name "redis-7005" "..\Cluster\cluster-7005.conf" --dir "..\Cluster" 
82-         .\redis-server.exe --service-install --service-name "redis-7010" "..\Sentinel\redis-7010.conf" 
83-         .\redis-server.exe --service-install --service-name "redis-7011" "..\Sentinel\redis-7011.conf" 
84-         .\redis-server.exe --service-install --service-name "redis-26379" "..\Sentinel\sentinel-26379.conf" --sentinel 
85-         .\redis-server.exe --service-install --service-name "redis-26380" "..\Sentinel\sentinel-26380.conf" --sentinel 
86-         .\redis-server.exe --service-install --service-name "redis-26381" "..\Sentinel\sentinel-26381.conf" --sentinel 
87-         Start-Service redis-* 
88136    - name : StackExchange.Redis.Tests 
89137      run : dotnet test tests/StackExchange.Redis.Tests/StackExchange.Redis.Tests.csproj -c Release --logger trx --logger GitHubActions --results-directory ./test-results/ /p:CI=true 
90138    - uses : dorny/test-reporter@v1 
0 commit comments