Current section
Files
Jump to
Current section
Files
src/examples@clone_repository.erl
-module(examples@clone_repository).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/examples/clone_repository.gleam").
-export([main/0]).
-file("src/examples/clone_repository.gleam", 14).
-spec main() -> nil.
main() ->
dagger:connect(
fun(Client) ->
Pipeline = begin
_pipe@1 = dagger@dsl@container:container(fun(O) -> _pipe = O,
dagger@dsl@container:opt_platform(
_pipe,
<<"linux/amd64"/utf8>>
) end),
_pipe@2 = dagger@dsl@container:from(
_pipe@1,
<<"alpine/git:v2.49.1"/utf8>>
),
_pipe@3 = dagger@dsl@container:with_exec(
_pipe@2,
[<<"git"/utf8>>,
<<"clone"/utf8>>,
<<"--depth=1"/utf8>>,
<<"https://github.com/gleam-lang/gleam.git"/utf8>>,
<<"/repo"/utf8>>],
fun dagger@dsl@container:none/1
),
dagger@dsl@container:with_exec(
_pipe@3,
[<<"ls"/utf8>>, <<"/repo"/utf8>>],
fun dagger@dsl@container:none/1
)
end,
dagger@dsl@container:stdout(
Pipeline,
Client,
fun(Result) -> case Result of
{ok, Out} ->
gleam_stdlib:println(
<<"Repository contents:"/utf8>>
),
gleam_stdlib:println(gleam@string:trim(Out));
{error, E} ->
gleam_stdlib:println_error(
<<"Pipeline failed: "/utf8,
(gleam@string:inspect(E))/binary>>
)
end end
)
end
).