Files
firezone/mix.exs
Andrew Dryga 218ad006af Revisit Users context, cover UI with e2e tests and introduce first AuditLog features (#1267)
1. `auto_create_users` default value is removed. We want to avoid
situations when admins integrate OIDC/SAML providers and don't expect
anyone that has access to it to automatically gain access to VPN, which
is especially critical for providers like Google Workspace, where all
employees typically have access.
2. OpenID library was completely rewritten and a new version is
integrated. It will allow async tests and better scales for the cloud
version of the panel.
3. `Mox` was removed, we don't test modules by overriding them to
prevent breaking changes that tests can't capture.
4. Deps are reordered and unused ones are removed.
5. Browser/e2e tests are added to ensure we won't break UI features in
the future, allowing for front-end refactoring.
6. Users context was overhauled for better code clarity.
2023-01-16 13:04:59 -06:00

84 lines
2.3 KiB
Elixir

defmodule FirezoneUmbrella.MixProject do
@moduledoc """
Welcome to the Firezone Elixir Umbrella Project
"""
use Mix.Project
def version do
# Use dummy version for dev and test
System.get_env("VERSION", "0.0.0+git.0.deadbeef")
end
def project do
[
name: :firezone,
apps_path: "apps",
version: version(),
start_permanent: Mix.env() == :prod,
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test
],
docs: [
logo: "apps/fz_http/assets/static/images/logo.svg",
extras: ["README.md", "SECURITY.md", "CONTRIBUTING.md"]
],
deps: deps(),
dialyzer: [
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}
],
aliases: aliases(),
default_release: :firezone,
releases: [
firezone: [
include_executables_for: [:unix],
validate_compile_env: false,
applications: [
fz_http: :permanent,
fz_wall: :permanent,
fz_vpn: :permanent
],
cookie: System.get_env("ERL_COOKIE")
]
]
]
end
# Dependencies listed here are available only for this
# project and cannot be accessed from applications inside
# the apps folder.
#
# Run "mix help deps" for examples and options.
defp deps do
[
# Shared deps
{:jason, "~> 1.2"},
# Shared test deps
{:excoveralls, "~> 0.14", only: :test},
{:credo, "~> 1.5", only: [:dev, :test], runtime: false},
{:mix_test_watch, "~> 1.0", only: :dev, runtime: false},
{:dialyxir, "~> 1.1", only: [:dev], runtime: false},
{:junit_formatter, "~> 3.3", only: [:test]},
# Formatter doesn't track dependencies of children applications
{:phoenix, "~> 1.7.0-rc.1", override: true},
{:phoenix_live_view, "~> 0.18.3"}
]
end
defp aliases do
[
"ecto.seed": ["ecto.create", "ecto.migrate", "run apps/fz_http/priv/repo/seeds.exs"],
"ecto.setup": ["ecto.create", "ecto.migrate"],
"ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate", "test"],
start: ["compile --no-validate-compile-env", "phx.server", "run --no-halt"]
]
end
end