Skip to content

Commit dd7f478

Browse files
committed
ci: overhaul root module
Signed-off-by: Thanabodee Charoenpiriyakij <wingyminus@gmail.com>
1 parent c4bfce0 commit dd7f478

File tree

15 files changed

+65
-59
lines changed

15 files changed

+65
-59
lines changed

.dagger/dagster_pipes_elixir/.formatter.exs renamed to .dagger/.formatter.exs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Used by "mix format"
12
[
23
import_deps: [:dagger],
34
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]

.dagger/.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
/dagger_sdk
2+
/_build
3+
/cover
4+
/deps
5+
/doc
6+
/erl_crash.dump
7+
/*.ez
8+
/template-*.tar
9+
/tmp

.dagger/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# DagsterPipesElixir
2+
3+
CI/CD for dagster-pipes-elixir.

.dagger/config/config.exs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import Config
2+
3+
config :dagger, client: Dagger.Core.GraphQLClient.Req

.dagger/dagster_pipes_elixir/.gitignore

Lines changed: 0 additions & 26 deletions
This file was deleted.

.dagger/dagster_pipes_elixir/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

.dagger/dagster_pipes_elixir/test/dagster_pipes_elixir_test.exs

Lines changed: 0 additions & 8 deletions
This file was deleted.

.dagger/dagster_pipes_elixir/test/test_helper.exs

Lines changed: 0 additions & 1 deletion
This file was deleted.

.dagger/dagster_pipes_elixir/lib/dagster_pipes_elixir.ex renamed to .dagger/lib/dagster_pipes_elixir.ex

Lines changed: 35 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,39 @@ defmodule DagsterPipesElixir do
55

66
use Dagger.Mod.Object, name: "DagsterPipesElixir"
77

8+
object do
9+
field :source, Dagger.Directory.t()
10+
field :container, Dagger.Container.t()
11+
end
12+
13+
defn init(
14+
source:
15+
{Dagger.Directory.t(),
16+
default_path: ".",
17+
ignore: [
18+
"**/*",
19+
"!dagster_pipes/mix.exs",
20+
"!dagster_pipes/mix.lock",
21+
"!dagster_pipes/test.sh",
22+
"!dagster_pipes/lib/**/*.ex",
23+
"!dagster_pipes/test/**/*.ex",
24+
"!dagster_pipes/test/test_helper.exs",
25+
"!dagster_pipes/test/test.exs",
26+
"!dagster_pipes/test/**/*_test.exs",
27+
"!integration_tests/pipes.toml",
28+
"!integration_tests/pyproject.toml",
29+
"!integration_tests/uv.lock",
30+
"!integration_tests/tests/**/*.py"
31+
]}
32+
) :: DagsterPipesElixir.t() do
33+
%DagsterPipesElixir{source: source, container: elixir() |> with_source(source)}
34+
end
35+
836
@doc """
937
Run unit test in `dagster_pipes` project.
1038
"""
11-
defn unit_test(source: {Dagger.Directory.t(), default_path: "."}) :: Dagger.Void.t() do
12-
elixir()
13-
|> with_source(source)
39+
defn unit_test(self) :: Dagger.Void.t() do
40+
self.container
1441
|> Dagger.Container.with_workdir("dagster_pipes")
1542
|> Dagger.Container.with_env_variable("MIX_ENV", "test")
1643
|> Dagger.Container.with_exec(~w"mix deps.get")
@@ -23,9 +50,8 @@ defmodule DagsterPipesElixir do
2350
@doc """
2451
Run integration tests provided by Dagster.
2552
"""
26-
defn integration_test(source: {Dagger.Directory.t(), default_path: "."}) :: Dagger.Void.t() do
27-
elixir()
28-
|> with_source(source)
53+
defn integration_test(self) :: Dagger.Void.t() do
54+
self.container
2955
|> Dagger.Container.with_workdir("integration_tests")
3056
|> Dagger.Container.with_env_variable("PATH", "/root/.local/bin:$PATH", expand: true)
3157
|> Dagger.Container.with_env_variable("UV_LINK_MODE", "copy")
@@ -36,11 +62,11 @@ defmodule DagsterPipesElixir do
3662
|> Dagger.Container.sync()
3763
end
3864

39-
defn check(source: {Dagger.Directory.t(), default_path: "."}) :: Dagger.Void.t() do
65+
defn check(self) :: Dagger.Void.t() do
4066
results =
4167
[
42-
Task.async(fn -> unit_test(source) end),
43-
Task.async(fn -> integration_test(source) end)
68+
Task.async(fn -> unit_test(self) end),
69+
Task.async(fn -> integration_test(self) end)
4470
]
4571
|> Task.await_many(:infinity)
4672

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,26 @@
1-
defmodule DagsterPipesElixir.MixProject do
1+
defmodule Template.MixProject do
22
use Mix.Project
33

44
def project do
55
[
66
app: :dagster_pipes_elixir,
77
version: "0.1.0",
8-
elixir: "~> 1.16",
8+
elixir: "~> 1.17",
99
start_permanent: Mix.env() == :prod,
1010
deps: deps()
1111
]
1212
end
1313

1414
def application do
1515
[
16-
extra_applications: [:logger],
16+
extra_applications: [:logger]
1717
]
1818
end
1919

2020
defp deps do
2121
[
22-
{:dagger, path: "../dagger_sdk"}
22+
{:dagger, path: "./dagger_sdk"},
23+
{:req, "~> 0.5"}
2324
]
2425
end
2526
end

0 commit comments

Comments
 (0)