@@ -32,12 +32,25 @@ pub async fn start_redis_server() -> Result<(RedisServer, String), Box<dyn std::
3232 let redis_home = Path :: new ( & colink_home) . join ( "redis-server" ) ;
3333 let program = Path :: new ( & redis_home) . join ( "redis-server" ) ;
3434 if std:: fs:: metadata ( program. clone ( ) ) . is_err ( ) {
35- download_tgz (
36- "https://github.com/CoLearn-Dev/redis-static-binaries/releases/download/7.0.8/redis-server.tar.gz" ,
37- "a28519717820c8af1d7d2371eeb17feb2abb4d70651f1a975b57977f9be7aacc" ,
38- redis_home. to_str ( ) . unwrap ( ) ,
39- )
40- . await ?;
35+ let base_url = "https://github.com/CoLearn-Dev/redis-binaries/releases/download/7.0.8" ;
36+ let platform = format ! ( "{}-{}" , std:: env:: consts:: OS , std:: env:: consts:: ARCH ) ;
37+ let ( url, sha256) = match platform. as_str ( ) {
38+ "linux-x86_64" => (
39+ format ! ( "{}/redis-server-{}.tar.gz" , base_url, platform) ,
40+ "5575cf43f41ef1bc9915667ca42822836e1c8f89f8bf338c2a9942617ba83714" ,
41+ ) ,
42+ "macos-x86_64" => (
43+ format ! ( "{}/redis-server-{}.tar.gz" , base_url, platform) ,
44+ "97c23a254283c259b764ad42ddd83eef4e138dbde057c7b862290bb283938a3b" ,
45+ ) ,
46+ _ => {
47+ return Err ( format ! (
48+ "Cannot find the redis-server binary for platform {}." ,
49+ platform
50+ ) ) ?;
51+ }
52+ } ;
53+ download_tgz ( & url, sha256, redis_home. to_str ( ) . unwrap ( ) ) . await ?;
4154 }
4255 let process = Command :: new ( program)
4356 . args ( [
0 commit comments