golem-cli 0.0.23

Command line interface for OSS version of Golem. See also golem-cloud-cli.
Documentation
use crate::context::Context;
use libtest_mimic::{Arguments, Conclusion, Failed};
use std::sync::Arc;
use testcontainers::clients;

pub mod cli;
pub mod context;
mod template;
mod worker;

fn run(context: &Context<'_>) -> Conclusion {
    let args = Arguments::from_args();

    let context = Arc::new(context.info());

    let mut tests = Vec::new();

    tests.append(&mut template::all(context.clone()));
    tests.append(&mut worker::all(context.clone()));

    libtest_mimic::run(&args, tests)
}

fn main() -> Result<(), Failed> {
    env_logger::init();

    let docker = clients::Cli::default();
    let context = Context::start(&docker)?;

    let res = run(&context);

    drop(context);
    drop(docker);
    res.exit()
}