Skip to content

Commit 624647a

Browse files
fbrvfbrv
andauthored
use COMPOSE_FILE env var (#86)
* use compose_file --------- Co-authored-by: fbrv <[email protected]>
1 parent 18a9ae5 commit 624647a

File tree

1 file changed

+20
-11
lines changed

1 file changed

+20
-11
lines changed

crates/cli/src/docker_cmd.rs

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@ use eyre::Result;
88

99
macro_rules! run_docker_compose {
1010
($compose_path:expr, $($arg:expr),*) => {{
11-
let cmd = determine_docker_compose_command();
12-
match cmd {
13-
Some(mut command) => {
14-
match command.arg("-f").arg($compose_path).args(&[$($arg),*]).output() {
11+
let cmd_info = determine_docker_compose_command();
12+
match cmd_info {
13+
Some((mut command, _version)) => {
14+
// Set the COMPOSE_FILE environment variable
15+
command.env("COMPOSE_FILE", $compose_path);
16+
17+
match command.args(&[$($arg),*]).output() {
1518
Ok(output) => {
1619
if !output.status.success() {
1720
let stderr = str::from_utf8(&output.stderr).unwrap_or("");
@@ -34,21 +37,27 @@ macro_rules! run_docker_compose {
3437
}};
3538
}
3639

37-
fn determine_docker_compose_command() -> Option<Command> {
40+
fn determine_docker_compose_command() -> Option<(Command, &'static str)> {
3841
if is_command_available("docker compose") {
3942
let mut docker: Command = Command::new("docker");
40-
Some(mem::replace(
41-
docker.arg("compose").stdout(Stdio::inherit()).stderr(Stdio::inherit()),
42-
Command::new("docker"),
43+
Some((
44+
mem::replace(
45+
docker.arg("compose").stdout(Stdio::inherit()).stderr(Stdio::inherit()),
46+
Command::new("docker"),
47+
),
48+
"v2",
4349
))
4450
} else if is_command_available("docker-compose") {
4551
println!(
4652
"using docker-compose. the command is being deprecated, install docker compose plugin"
4753
);
4854
let mut docker: Command = Command::new("docker-compose");
49-
Some(mem::replace(
50-
docker.stdout(Stdio::inherit()).stderr(Stdio::inherit()),
51-
Command::new("docker"),
55+
Some((
56+
mem::replace(
57+
docker.stdout(Stdio::inherit()).stderr(Stdio::inherit()),
58+
Command::new("docker"),
59+
),
60+
"v1",
5261
))
5362
} else {
5463
None

0 commit comments

Comments
 (0)