QEDjl-project / QED.jl

[WIP] QED.jl: A strong-field particle physics framework
MIT License
5 stars 3 forks source link

Integration test: check against devs #36

Open szabo137 opened 4 weeks ago

szabo137 commented 4 weeks ago

There are situations for the integration test, where the package build of a dependent package depends by itself on a dev branch of another package.

For instance, if we update QEDbase.jl to reflect certain changes in QEDprocesses.jl#dev, the integration tests in the QEDbase.jl PR will test against the QEDprocesses.jl#dev and become green if the unit tests pass. However, the integration tests in the QEDbase.jl PR will also test against QEDevents.jl#dev which depends on QEDprocesses.jl#main and not on QEDprocesses.jl#dev. Therefore, the integration tests against QEDevents.jl#dev will eventually fail.

IDK how to solve this, but every integration test should set up the environment with all dev-versions of the dependent packages. This makes sure, that all tests pass if all downstream dev-branches are combined with the branch pending in the PR upstream.

SimeonEhrig commented 2 weeks ago

This message says, that only one version of a package can existing in an environment: https://discourse.julialang.org/t/how-to-properly-depend-on-a-dependency-of-a-dependent-package/29291

Maybe, if we always install all dev versions of all QED packages, QEDevents.jl#dev also uses QEDprocess.jl#dev. If this is working, we can optimize the process.

  1. first install the major package
  2. check for installed QED packages in the environment and install optimized versions.
SimeonEhrig commented 1 week ago

I'm working on it. It should also solve #33, because I need to construct the dependency graph an modify it.