@@ -18,18 +18,20 @@ jobs:
18
18
TERM : xterm # Enable color output in GitHub Actions
19
19
steps :
20
20
- 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
22
27
- name : Install .NET SDK
23
28
uses : actions/setup-dotnet@v3
24
29
with :
25
30
dotnet-version : |
26
31
6.0.x
27
- 7 .0.x
32
+ 8 .0.x
28
33
- name : .NET Build
29
34
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
33
35
- name : StackExchange.Redis.Tests
34
36
run : dotnet test tests/StackExchange.Redis.Tests/StackExchange.Redis.Tests.csproj -c Release --logger trx --logger GitHubActions --results-directory ./test-results/ /p:CI=true
35
37
- uses : dorny/test-reporter@v1
@@ -49,37 +51,88 @@ jobs:
49
51
NUGET_CERT_REVOCATION_MODE : offline # Disabling signing because of massive perf hit, see https://github.com/NuGet/Home/issues/11548
50
52
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION : " 1" # Note this doesn't work yet for Windows - see https://github.com/dotnet/runtime/issues/68340
51
53
TERM : xterm
54
+ DOCKER_BUILDKIT : 1
52
55
steps :
53
56
- name : Checkout code
54
- uses : actions/checkout@v1
55
- # - name: Install .NET SDK
56
- # uses: actions/setup-dotnet@v3
57
- # with:
58
- # dotnet-version: |
59
- # 6.0.x
60
- # 7.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
+
61
134
- name : .NET Build
62
135
run : dotnet build Build.csproj -c Release /p:CI=true
63
- - name : Start Redis Services (v3.0.503)
64
- working-directory : .\tests\RedisConfigs\3.0.503
65
- run : |
66
- .\redis-server.exe --service-install --service-name "redis-6379" "..\Basic\primary-6379-3.0.conf"
67
- .\redis-server.exe --service-install --service-name "redis-6380" "..\Basic\replica-6380.conf"
68
- .\redis-server.exe --service-install --service-name "redis-6381" "..\Basic\secure-6381.conf"
69
- .\redis-server.exe --service-install --service-name "redis-6382" "..\Failover\primary-6382.conf"
70
- .\redis-server.exe --service-install --service-name "redis-6383" "..\Failover\replica-6383.conf"
71
- .\redis-server.exe --service-install --service-name "redis-7000" "..\Cluster\cluster-7000.conf" --dir "..\Cluster"
72
- .\redis-server.exe --service-install --service-name "redis-7001" "..\Cluster\cluster-7001.conf" --dir "..\Cluster"
73
- .\redis-server.exe --service-install --service-name "redis-7002" "..\Cluster\cluster-7002.conf" --dir "..\Cluster"
74
- .\redis-server.exe --service-install --service-name "redis-7003" "..\Cluster\cluster-7003.conf" --dir "..\Cluster"
75
- .\redis-server.exe --service-install --service-name "redis-7004" "..\Cluster\cluster-7004.conf" --dir "..\Cluster"
76
- .\redis-server.exe --service-install --service-name "redis-7005" "..\Cluster\cluster-7005.conf" --dir "..\Cluster"
77
- .\redis-server.exe --service-install --service-name "redis-7010" "..\Sentinel\redis-7010.conf"
78
- .\redis-server.exe --service-install --service-name "redis-7011" "..\Sentinel\redis-7011.conf"
79
- .\redis-server.exe --service-install --service-name "redis-26379" "..\Sentinel\sentinel-26379.conf" --sentinel
80
- .\redis-server.exe --service-install --service-name "redis-26380" "..\Sentinel\sentinel-26380.conf" --sentinel
81
- .\redis-server.exe --service-install --service-name "redis-26381" "..\Sentinel\sentinel-26381.conf" --sentinel
82
- Start-Service redis-*
83
136
- name : StackExchange.Redis.Tests
84
137
run : dotnet test tests/StackExchange.Redis.Tests/StackExchange.Redis.Tests.csproj -c Release --logger trx --logger GitHubActions --results-directory ./test-results/ /p:CI=true
85
138
- uses : dorny/test-reporter@v1
0 commit comments