1
0
mirror of https://github.com/libssh2/libssh2.git synced 2025-07-29 13:01:14 +03:00

CI: store and reuse OpenSSH Server docker image used for tests

Supersedes #588
Fixes #665
Closes #685
This commit is contained in:
Marc Hoersken
2022-03-16 04:29:31 +01:00
parent 292830abb8
commit 87d208c95d
5 changed files with 95 additions and 15 deletions

View File

@ -143,8 +143,26 @@ static int run_command(char **output, const char *command, ...)
return ret;
}
static const char *openssh_server_image(void)
{
return getenv("OPENSSH_SERVER_IMAGE");
}
static int build_openssh_server_docker_image(void)
{
const char *container_image_name = openssh_server_image();
if(container_image_name != NULL) {
int ret = run_command(NULL, "docker pull --quiet %s",
container_image_name);
if(ret == 0) {
ret = run_command(NULL, "docker tag %s libssh2/openssh_server",
container_image_name);
if(ret == 0) {
return ret;
}
}
}
return run_command(NULL, "docker build --quiet "
"-t libssh2/openssh_server "
"openssh_server");
@ -164,11 +182,10 @@ static int start_openssh_server(char **container_id_out)
"libssh2/openssh_server",
container_host_port);
}
else {
return run_command(container_id_out,
"docker run --rm -d -p 22 "
"libssh2/openssh_server");
}
return run_command(container_id_out,
"docker run --rm -d -p 22 "
"libssh2/openssh_server");
}
static int stop_openssh_server(char *container_id)