rajvarun77 commented on code in PR #3323:
URL: https://github.com/apache/brpc/pull/3323#discussion_r3345570631


##########
.github/workflows/ci-linux.yml:
##########
@@ -196,6 +196,12 @@ jobs:
         cat config.mk
         cd test
         make -j ${{env.proc_num}}
+    - name: install redis-server and mysql-server

Review Comment:
   Done — moved the redis-server / mysql-server install into the 
`install-essential-dependencies` composite action and removed the per-job 
install steps from `clang-unittest` and `clang-unittest-asan`. Every job that 
pulls in those dependencies now brings up both servers. Re-validated on my 
fork: all Linux jobs green 
(https://github.com/rajvarun77/brpc/actions/runs/26858989158).
   



##########
.github/workflows/ci-linux.yml:
##########
@@ -214,10 +220,19 @@ jobs:
         cat config.mk
         cd test
         make NEED_GPERFTOOLS=0 -j ${{env.proc_num}}
+    - name: install redis-server and mysql-server
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y redis-server mysql-server
+        redis-server --version
+        mysqld --version
     - name: run tests
       run: |
         cd test
-        sh ./run_tests.sh
+        # brpc_redis_unittest forks a real redis-server and waits a fixed 50ms 
before
+        # connecting; under ASan redis starts too slowly, so the redis client 
tests are
+        # flaky here (connection refused). Skip them in ASan; they run in 
clang-unittest.
+        GTEST_FILTER='-RedisTest.*' sh ./run_tests.sh
 
   clang-unittest-bazel-with-babylon-and-new-pb:

Review Comment:
   Good question. `gcc-unittest-with-bazel`, `clang-unittest-with-bazel` and 
`clang-unittest-bazel-with-babylon-and-new-pb` don't use the 
`install-essential-dependencies` action, so this change doesn't install 
Redis/MySQL in them. The Redis client tests there continue to self-skip when 
`redis-server` is absent — the same behaviour as before this PR. If you'd like 
those bazel jobs to exercise the live-server tests as well, I'm happy to add it 
in a follow-up.
   



##########
.github/workflows/ci-linux.yml:
##########
@@ -214,10 +220,19 @@ jobs:
         cat config.mk
         cd test
         make NEED_GPERFTOOLS=0 -j ${{env.proc_num}}
+    - name: install redis-server and mysql-server
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y redis-server mysql-server
+        redis-server --version
+        mysqld --version
     - name: run tests
       run: |
         cd test
-        sh ./run_tests.sh
+        # brpc_redis_unittest forks a real redis-server and waits a fixed 50ms 
before
+        # connecting; under ASan redis starts too slowly, so the redis client 
tests are
+        # flaky here (connection refused). Skip them in ASan; they run in 
clang-unittest.
+        GTEST_FILTER='-RedisTest.*' sh ./run_tests.sh

Review Comment:
   Applied. The ASan filter now excludes only the five client tests that 
connect to the forked redis-server — `RedisTest.sanity`, `keys_with_spaces`, 
`incr_and_decr`, `by_components`, `auth`. The pure parsing/service cases 
(`command_parser`, `redis_reply_codec`, `memory_allocation_limits`, `server_*`) 
still run under ASan, so coverage of that logic is preserved.
   



##########
.github/workflows/ci-linux.yml:
##########
@@ -196,6 +196,12 @@ jobs:
         cat config.mk
         cd test
         make -j ${{env.proc_num}}
+    - name: install redis-server and mysql-server
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y redis-server mysql-server
+        redis-server --version
+        mysqld --version

Review Comment:
   Expected. `mysql-server` is installed intentionally ahead of the in-progress 
MySQL protocol support (#2093); the client tests for it land in a follow-up, 
and pre-provisioning the server here avoids a second CI change when they do. 
The extra install time is small and the step is green in every job.
   



##########
.github/workflows/ci-linux.yml:
##########
@@ -214,10 +220,19 @@ jobs:
         cat config.mk
         cd test
         make NEED_GPERFTOOLS=0 -j ${{env.proc_num}}
+    - name: install redis-server and mysql-server
+      run: |
+        sudo apt-get update
+        sudo apt-get install -y redis-server mysql-server
+        redis-server --version
+        mysqld --version

Review Comment:
   Same as the `clang-unittest` job above — `mysql-server` is pre-installed 
intentionally for the upcoming MySQL protocol tests (#2093). Expected, not 
extraneous.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to