Skip to content

Commit ff006d0

Browse files
committed
ci update for windows tests
set target as 7.4.0 both for ubuntu and windows tests fetch dept check old values path fix start all stack server fix step checkout docker image redis:7.4.2
1 parent 1a4c66d commit ff006d0

File tree

2 files changed

+86
-36
lines changed

2 files changed

+86
-36
lines changed

.github/workflows/CI.yml

Lines changed: 85 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: CI
22

33
on:
4+
workflow_dispatch:
45
pull_request:
56
push:
67
branches:
78
- main
9+
- ali/redis_container_on_wind_runner
810
paths:
911
- '*'
1012
- '!/docs/*' # Don't run workflow when files are only in the /docs directory
@@ -18,7 +20,12 @@ jobs:
1820
TERM: xterm # Enable color output in GitHub Actions
1921
steps:
2022
- name: Checkout code
21-
uses: actions/checkout@v1
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0 # Fetch the full history
26+
- name: Start Redis Services (docker-compose)
27+
working-directory: ./tests/RedisConfigs
28+
run: docker compose -f docker-compose.yml up -d --wait
2229
- name: Install .NET SDK
2330
uses: actions/setup-dotnet@v3
2431
with:
@@ -27,9 +34,6 @@ jobs:
2734
8.0.x
2835
- name: .NET Build
2936
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
3337
- name: StackExchange.Redis.Tests
3438
run: dotnet test tests/StackExchange.Redis.Tests/StackExchange.Redis.Tests.csproj -c Release --logger trx --logger GitHubActions --results-directory ./test-results/ /p:CI=true
3539
- uses: dorny/test-reporter@v1
@@ -52,39 +56,85 @@ jobs:
5256
DOCKER_BUILDKIT: 1
5357
steps:
5458
- 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
59+
uses: actions/checkout@v4
60+
with:
61+
fetch-depth: 0 # Fetch the full history
62+
- uses: Vampire/setup-wsl@v2
63+
with:
64+
distribution: Ubuntu-22.04
65+
- name: Install Redis
66+
shell: wsl-bash {0}
67+
working-directory: ./tests/RedisConfigs
68+
run: |
69+
apt-get update
70+
apt-get install curl gpg lsb-release libgomp1 jq -y
71+
curl -fsSL https://packages.redis.io/gpg | gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
72+
chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
73+
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
74+
apt-get update
75+
apt-get install -y redis
76+
mkdir redis
77+
- name: Run redis-server
78+
shell: wsl-bash {0}
79+
working-directory: ./tests/RedisConfigs/redis
80+
run: |
81+
pwd
82+
ls .
83+
# Run each server instance in order
84+
redis-server ../Basic/primary-6379.conf &
85+
redis-server ../Basic/replica-6380.conf &
86+
redis-server ../Basic/secure-6381.conf &
87+
redis-server ../Failover/primary-6382.conf &
88+
redis-server ../Failover/replica-6383.conf &
89+
redis-server ../Cluster/cluster-7000.conf --dir ../Cluster &
90+
redis-server ../Cluster/cluster-7001.conf --dir ../Cluster &
91+
redis-server ../Cluster/cluster-7002.conf --dir ../Cluster &
92+
redis-server ../Cluster/cluster-7003.conf --dir ../Cluster &
93+
redis-server ../Cluster/cluster-7004.conf --dir ../Cluster &
94+
redis-server ../Cluster/cluster-7005.conf --dir ../Cluster &
95+
redis-server ../Sentinel/redis-7010.conf &
96+
redis-server ../Sentinel/redis-7011.conf &
97+
redis-server ../Sentinel/sentinel-26379.conf --sentinel &
98+
redis-server ../Sentinel/sentinel-26380.conf --sentinel &
99+
redis-server ../Sentinel/sentinel-26381.conf --sentinel &
100+
# Wait for server instances to get ready
101+
sleep 5
102+
echo "Checking redis-server version with port 6379"
103+
redis-cli -p 6379 INFO SERVER | grep redis_version || echo "Failed to get version for port 6379"
104+
echo "Checking redis-server version with port 6380"
105+
redis-cli -p 6380 INFO SERVER | grep redis_version || echo "Failed to get version for port 6380"
106+
echo "Checking redis-server version with port 6381"
107+
redis-cli -p 6381 INFO SERVER | grep redis_version || echo "Failed to get version for port 6381"
108+
echo "Checking redis-server version with port 6382"
109+
redis-cli -p 6382 INFO SERVER | grep redis_version || echo "Failed to get version for port 6382"
110+
echo "Checking redis-server version with port 6383"
111+
redis-cli -p 6383 INFO SERVER | grep redis_version || echo "Failed to get version for port 6383"
112+
echo "Checking redis-server version with port 7000"
113+
redis-cli -p 7000 INFO SERVER | grep redis_version || echo "Failed to get version for port 7000"
114+
echo "Checking redis-server version with port 7001"
115+
redis-cli -p 7001 INFO SERVER | grep redis_version || echo "Failed to get version for port 7001"
116+
echo "Checking redis-server version with port 7002"
117+
redis-cli -p 7002 INFO SERVER | grep redis_version || echo "Failed to get version for port 7002"
118+
echo "Checking redis-server version with port 7003"
119+
redis-cli -p 7003 INFO SERVER | grep redis_version || echo "Failed to get version for port 7003"
120+
echo "Checking redis-server version with port 7004"
121+
redis-cli -p 7004 INFO SERVER | grep redis_version || echo "Failed to get version for port 7004"
122+
echo "Checking redis-server version with port 7005"
123+
redis-cli -p 7005 INFO SERVER | grep redis_version || echo "Failed to get version for port 7005"
124+
echo "Checking redis-server version with port 7010"
125+
redis-cli -p 7010 INFO SERVER | grep redis_version || echo "Failed to get version for port 7010"
126+
echo "Checking redis-server version with port 7011"
127+
redis-cli -p 7011 INFO SERVER | grep redis_version || echo "Failed to get version for port 7011"
128+
echo "Checking redis-server version with port 26379"
129+
redis-cli -p 26379 INFO SERVER | grep redis_version || echo "Failed to get version for port 26379"
130+
echo "Checking redis-server version with port 26380"
131+
redis-cli -p 26380 INFO SERVER | grep redis_version || echo "Failed to get version for port 26380"
132+
echo "Checking redis-server version with port 26381"
133+
redis-cli -p 26381 INFO SERVER | grep redis_version || echo "Failed to get version for port 26381"
134+
continue-on-error: true
135+
62136
- name: .NET Build
63137
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-*
88138
- name: StackExchange.Redis.Tests
89139
run: dotnet test tests/StackExchange.Redis.Tests/StackExchange.Redis.Tests.csproj -c Release --logger trx --logger GitHubActions --results-directory ./test-results/ /p:CI=true
90140
- uses: dorny/test-reporter@v1

tests/RedisConfigs/.docker/Redis/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM redis:7.4-rc1
1+
FROM redis:7.4.2
22

33
COPY --from=configs ./Basic /data/Basic/
44
COPY --from=configs ./Failover /data/Failover/

0 commit comments

Comments
 (0)