add CI pipeline with credo and dialyzer

mix ci alias: compile --warning-as-errors, format --check-formatted,
credo, dialyzer, test. Credo configured with sensible defaults.
Dialyzer ignore file for false positives (Stripe types, Mix tasks,
ExUnit internals). Credo fixes: map_join, filter consolidation,
nesting extraction, cond→if simplification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-08 15:19:42 +00:00
parent 518da36c8f
commit eaa4bbb3fa
16 changed files with 328 additions and 59 deletions

19
mix.exs
View File

@@ -11,7 +11,8 @@ defmodule SimpleshopTheme.MixProject do
aliases: aliases(),
deps: deps(),
compilers: [:phoenix_live_view] ++ Mix.compilers(),
listeners: [Phoenix.CodeReloader]
listeners: [Phoenix.CodeReloader],
dialyzer: [ignore_warnings: ".dialyzer_ignore.exs"]
]
end
@@ -27,7 +28,7 @@ defmodule SimpleshopTheme.MixProject do
def cli do
[
preferred_envs: [precommit: :test]
preferred_envs: [precommit: :test, ci: :test]
]
end
@@ -73,7 +74,9 @@ defmodule SimpleshopTheme.MixProject do
{:oban, "~> 2.18"},
{:ex_money, "~> 5.0"},
{:ex_money_sql, "~> 1.0"},
{:stripity_stripe, "~> 3.2"}
{:stripity_stripe, "~> 3.2"},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}
]
end
@@ -102,7 +105,15 @@ defmodule SimpleshopTheme.MixProject do
"esbuild simpleshop_theme --minify",
"phx.digest"
],
precommit: ["compile --warning-as-errors", "deps.unlock --unused", "format", "test"]
precommit: ["compile --warning-as-errors", "deps.unlock --unused", "format", "test"],
ci: [
"compile --warning-as-errors",
"deps.unlock --unused",
"format --check-formatted",
"credo",
"dialyzer",
"test"
]
]
end
end