Giter Club home page Giter Club logo

Comments (9)

zachdaniel avatar zachdaniel commented on May 27, 2024 1

Nope, I think you blew this one out of the water 😀

from ash.

TheFirstAvenger avatar TheFirstAvenger commented on May 27, 2024

@zachdaniel Do you have thoughts on how you would test different versions of ash in the extension projects?

from ash.

zachdaniel avatar zachdaniel commented on May 27, 2024

I haven't really worked it out yet, especially considering that things are currently changing fast enough that it's unlikely for an extension to support more than one version of ash. As it stabilizes though, I'll need a better plan. Additionally, there are parts of ash that can't really be tested without testing against extensions (specifically against ash_postgres). Right now those things are just untested. If you have thoughts/ideas let me know and we can get the ball rolling on better tests in that regard. Things are stabilizing just about enough to warrant it I think.

from ash.

TheFirstAvenger avatar TheFirstAvenger commented on May 27, 2024

Ecto does something with environment variables to allow you to test ecto_sql against different versions of ecto, I will see if I can do something similar here.

from ash.

TheFirstAvenger avatar TheFirstAvenger commented on May 27, 2024

Also, as far as the Elixir/Erlang matrix:
Elixir:
v1.9 and below get the following:

== Compilation error in file test/actions/create_test.exs ==
** (BadFunctionError) expected a function, got: Ash.Dsl.Transformer
##[error]    (elixir) lib/enum.ex:2338: anonymous fn/3 in Enum.sort_by/3
##[error]    (stdlib) lists.erl:969: :lists.sort/2
##[error]    (elixir) lib/enum.ex:2338: Enum.sort_by/3
##[error]    (ash) lib/ash/dsl/transformer.ex:100: Ash.Dsl.Transformer.sort/1
##[error]    (stdlib) erl_eval.erl:680: :erl_eval.do_apply/6
##[error]    (stdlib) erl_eval.erl:449: :erl_eval.expr/5
##[error]    (stdlib) erl_eval.erl:126: :erl_eval.exprs/5
##[error]    (stdlib) erl_eval.erl:888: :erl_eval.expr_list/6
##[error]    (stdlib) erl_eval.erl:411: :erl_eval.expr/5
##[error]    (stdlib) erl_eval.erl:126: :erl_eval.exprs/5
##[error]    (ash) /home/runner/work/ash/ash/test/actions/create_test.exs:5: Ash.Resource.__before_compile__/1
##[error]    (elixir) lib/code.ex:767: Code.require_file/2
##[error]    (elixir) lib/kernel/parallel_compiler.ex:211: anonymous fn/4 in Kernel.ParallelCompiler.spawn_workers/6

And OTP earlier than 22 complain about persistent_term not being available, leaving Elixir 1.10, with OTP 23 and 22 as the only two viable options with the current codebase.

from ash.

zachdaniel avatar zachdaniel commented on May 27, 2024

One annoying thing: there are a bunch of repos in the ash organization, so we probably want to extend this and the last few changes to those repos. Don't feel obligated to do that though. I can periodically check to make sure those other (and less important aside from ash_postgres) repos are up to date with core.

from ash.

zachdaniel avatar zachdaniel commented on May 27, 2024

persistent_term is non-negotiable, but the sort function can absolutely be reworked.

from ash.

zachdaniel avatar zachdaniel commented on May 27, 2024

Speaking of that sort, I think transformer sorting is actually broken/bad, so I need to figure out a more efficient way to do it. Its a pretty bad bit of code :)

from ash.

TheFirstAvenger avatar TheFirstAvenger commented on May 27, 2024

@zachdaniel with those 5 PRs in, is there anything else you would like to see to wrap up this ticket?

from ash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.