Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
e327e49
rebase to latest main and apply changes to ash.setup.ex
celeste-wahlquist Feb 26, 2026
78138e2
failures = run_compile(compile_fn) ++ run_extensions(extensions, arg)
celeste-wahlquist Feb 27, 2026
5670bc4
ran format and credo and implemented corrections
celeste-wahlquist Mar 2, 2026
4d3b8b0
verifying all tests, credo, formatter, and checks in codeset are passing
celeste-wahlquist Mar 4, 2026
a0c97e4
1169 init solution
celeste-wahlquist Mar 11, 2026
e3291b8
Behaviour return validation: validate callback return types across As…
celeste-wahlquist Mar 16, 2026
6410e50
Merge branch 1169 into main
celeste-wahlquist Mar 16, 2026
e93d63c
apply mix format
celeste-wahlquist Mar 16, 2026
77d39ad
applying mix format
celeste-wahlquist Mar 16, 2026
78ea1ed
formatting, testing, removing excess files
celeste-wahlquist Mar 16, 2026
c8fa7d5
verifing mix check
celeste-wahlquist Mar 20, 2026
9b3f121
Merge branch '1169'
celeste-wahlquist Mar 20, 2026
6a3f740
AshPhoenix.FormTest
celeste-wahlquist Mar 20, 2026
fdf335e
Merge branch 'main' of upstream with local relationship updates
celeste-wahlquist Mar 23, 2026
d5753e0
clean up for module.callback refactor
celeste-wahlquist Mar 23, 2026
e9ae04b
ci: update workflow conditions for subprojects and main branch jobs
celeste-wahlquist Mar 23, 2026
caf5c16
refactor: update notifier callback return type and simplify notify im…
celeste-wahlquist Mar 23, 2026
2368b32
fixing formatter for /home/runner/work/ash/ash/lib/ash/changeset/chan…
celeste-wahlquist Mar 23, 2026
541c9c8
Merge branch 'main' into main
celeste-wahlquist Mar 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ash-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ jobs:
report_mix_deps:
name: "Report Mix Dependencies"
runs-on: ubuntu-latest
# Only run this job when we're on the main branch, not for PRs
if: github.ref == 'refs/heads/main'
# Only run this job for ash-project org main branches
if: github.ref == 'refs/heads/main' && github.repository_owner == 'ash-project'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: erlef/mix-dependency-submission@fa3e8f349d00a32bf14eec1c7577d6564abe08d2 # v1.3.1
Expand Down Expand Up @@ -340,7 +340,7 @@ jobs:
needs:
- build-test
- build-docs
if: ${{inputs.publish-docs && github.ref == 'refs/heads/main'}}
if: ${{inputs.publish-docs && github.ref == 'refs/heads/main' && github.repository_owner == 'ash-project'}}
permissions:
pages: write
id-token: write
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-subprojects.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ jobs:
test-subprojects:
runs-on: ubuntu-latest
name: Subproject ${{matrix.project.org}}/${{matrix.project.name}} - OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}}
if: ${{ github.repository == 'ash-project/ash' || matrix.project.name != 'ash_oban' }}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not run this for ash_oban?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this! This isn’t “disable fork CI” wholesale — it only skips the ash_oban subproject matrix job on forks. On ash-project/ash, we still run it. The motivation is that ash_oban’s mix deps.get can pull oban_pro / private Hex packages that forks may not have configured, so the matrix cell would fail for reasons not related to the individuals code. Happy to revisit if we want a different approach 👍

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, okay. Makes sense.

strategy:
fail-fast: false
matrix:
Expand Down
32 changes: 32 additions & 0 deletions REUSE.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# SPDX-FileCopyrightText: 2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors>
#
# SPDX-License-Identifier: MIT

version = 1

# AALang-Gab assets are JSON-LD and other formats that cannot carry SPDX tags inline;
# annotate the tree for REUSE compliance (see https://reuse.software/spec/).
[[annotations]]
path = "lib/AALang-Gab/.gitignore"
SPDX-FileCopyrightText = "2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors>"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = "lib/AALang-Gab/**/*.jsonld"
SPDX-FileCopyrightText = "2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors>"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = "lib/AALang-Gab/**/*.md"
SPDX-FileCopyrightText = "2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors>"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = "lib/AALang-Gab/**/*.py"
SPDX-FileCopyrightText = "2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors>"
SPDX-License-Identifier = "MIT"

[[annotations]]
path = "lib/AALang-Gab/**/*.aacomp"
SPDX-FileCopyrightText = "2019 ash contributors <https://github.com/ash-project/ash/graphs/contributors>"
SPDX-License-Identifier = "MIT"
13 changes: 8 additions & 5 deletions lib/ash/action_input.ex
Original file line number Diff line number Diff line change
Expand Up @@ -1345,7 +1345,7 @@ defmodule Ash.ActionInput do
context: input.context
)

case module.init(opts) do
case Ash.Resource.Validation.init(module, opts) do
{:ok, opts} ->
Ash.Resource.Validation.validate(
module,
Expand Down Expand Up @@ -1377,7 +1377,7 @@ defmodule Ash.ActionInput do
context: input.context
)

with {:ok, opts} <- validation.module.init(opts),
with {:ok, opts} <- Ash.Resource.Validation.init(validation.module, opts),
:ok <-
Ash.Resource.Validation.validate(
validation.module,
Expand Down Expand Up @@ -1424,7 +1424,10 @@ defmodule Ash.ActionInput do
add_error(input, validation.message)

:error ->
add_error(input, validation.module.describe(validation.opts))
add_error(
input,
Ash.Resource.Validation.describe(validation.module, validation.opts)
)
end
end
end
Expand Down Expand Up @@ -1463,7 +1466,7 @@ defmodule Ash.ActionInput do
context: input.context
)

case module.init(opts) do
case Ash.Resource.Validation.init(module, opts) do
{:ok, opts} ->
Ash.Resource.Validation.validate(
module,
Expand All @@ -1486,7 +1489,7 @@ defmodule Ash.ActionInput do
end do
Ash.Tracer.set_metadata(tracer, :preparation, metadata)

{:ok, opts} = module.init(opts)
{:ok, opts} = Ash.Resource.Preparation.init(module, opts)

opts =
Ash.Expr.fill_template(
Expand Down
8 changes: 3 additions & 5 deletions lib/ash/actions/action.ex
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,8 @@ defmodule Ash.Actions.Action do
:ok,
fn authorizer, :ok ->
authorizer_state =
authorizer.initial_state(
Ash.Authorizer.initial_state(
authorizer,
actor,
input.resource,
input.action,
Expand All @@ -352,7 +353,7 @@ defmodule Ash.Actions.Action do
changeset: nil
}

case authorizer.strict_check(authorizer_state, context) do
case Ash.Authorizer.strict_check(authorizer, authorizer_state, context) do
{:error, %{class: :forbidden} = e} when is_exception(e) ->
{:halt, {:error, e}}

Expand Down Expand Up @@ -389,9 +390,6 @@ defmodule Ash.Actions.Action do

Received #{inspect(filter)} when authorizing #{inspect(input.resource)}.#{input.action.name}
"""

:forbidden ->
{:halt, {:error, Ash.Authorizer.exception(authorizer, :forbidden, authorizer_state)}}
end
end
)
Expand Down
Loading
Loading