Действия на Github окно настройки-создание дает «Нет такого файла или каталога»

#docker #rust #docker-compose #github-actions

Вопрос:

Я пишу CI для действий на Github с помощью Rust. Я хочу выполнить docker-compose из Rust по некоторым причинам. В рамках Command я указываю текущий рабочий каталог в папке , в которой находится файл docker-compose.yml. Это какой-то код:

 let docker_compose_file = current_dir.parent().unwrap().to_owned();

if docker_compose_file.join("docker-compose.yml").exists() {
    println!(
        "Found docker-compose file, full path: {:#?}",
        docker_compose_file
    );

    // DEBUG CODE
    let ls_result = Command::new("ls")
        .arg(docker_compose_file.to_str().unwrap())
        .output()
        .unwrap()
        .stdout;

    let y = String::from_utf8(ls_result).unwrap();

    println!("LS'ing gives: {:#?}", y);
} else {
    panic!(
        "Wrong file, current working dir: {:#?}",
        docker_compose_file
    );
}

let result = Command::new("docker-compose")
    .current_dir(amp;docker_compose_file)
    .args(amp;["up", "-d"])
    .status()
    .unwrap();
 

Я вижу в действиях Github следующее ведение журнала:

Нашли докер-сочинять файл, полный путь: «/пользователи/бегун/работать/что-то/что-то/сервер» ЛС-Джея, дает: «Cargo.locknCargo.tomlnapinbatch_jobsnci_setupncommonndatabasendeployment.mdndocker-compose.ymlnrustfmt.tomlnserverntargetn» потоке «основной» запаниковал, назвал Result::unwrap() по Err стоимости: ОС { код: 2, Вид: процесс, сообщение: «Нет такого файла или каталога» }’, ci_setup/src/главная.РС:137:14 Примечание: бежать с RUST_BACKTRACE=1 переменной среды, чтобы вывести след

Я в замешательстве. ls ясно показывает, что файл docker-compose.yml присутствует. Почему я получаю ошибку Rust, в которой говорится, что не удается найти файл или каталог?

main.rs:137 относится к unwrap вызову метода в нижней части примера кода.

Комментарии:

1. Не могли бы вы поделиться рабочим процессом GHA (файл.yml), используемым в вашем вопросе? 🙂

2. @GuiFalourd на самом деле в этом нет ничего особенного, я клонирую свой проект в директории, я cd в этой дирекции и запускаю cargo run

3. Я задал этот вопрос, потому что для доступа к файлам репозитория в рабочем процессе GHA вам необходимо использовать actions/checkout . Если вы им не пользовались, это может быть причиной вашей проблемы.