Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move from mamba to pixi #594

Merged
merged 12 commits into from
Sep 14, 2023
Merged

Move from mamba to pixi #594

merged 12 commits into from
Sep 14, 2023

Conversation

Hofer-Julian
Copy link
Contributor

After #589, #381 and countless TeamCity troubles, it is time to try something new

@Hofer-Julian Hofer-Julian marked this pull request as ready for review September 13, 2023 10:54
@Hofer-Julian
Copy link
Contributor Author

This PR is ready to review from my side.
Apart from having a lock file and a sane way of updating environments, it also significantly simplifies our contributor docs.
I tested it already on TeamCity with a job I couldn't get to work with conda and it works fine. It even caches between runs: https://dpcbuild.deltares.nl/buildConfiguration/Ribasim_Ribasim_TestRibasimCliWindows?branch=pixi&mode=builds

quartodoc-build = "cd docs && quartodoc build && rm objects.json"
quarto-preview = { cmd = "quarto preview docs", depends_on = ["quartodoc-build"] }
quarto-check = { cmd = "quarto check all", depends_on = ["quartodoc-build"] }
quarto-render = "quarto render docs --to html --execute"
Copy link
Member

Choose a reason for hiding this comment

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

For consistency this perhaps should also depend on quartodoc-build?

@visr
Copy link
Member

visr commented Sep 13, 2023

This looks great! Install worked flawlessly for me.

So the (huge!) lock file basically pins all our non-julia dependencies, right? Will we manually update every now and then?

Looking at the pixi.toml and thinking about the things I often run together, I think some more combined tasks would be nice to add.

pixi run docs
  build-julia-docs
  quarto-preview
pixi run tests
  lint
  test-ribasim-python
  test-ribasim-core  # TODO
pixi run build
  build-libribasim  # TODO
  build-ribasim-cli  # TODO
pixi run codegen
  generate-schema  # TODO
  generate-python  # TODO
  lint
pixi run generate-testmodels  # TODO add support for args, e.g. pixi run generate-testmodels basic, useful for debugging model writing, where you don't want a flood of errors
pixi run ribasim  # TODO something like using Ribasim; Ribasim.run(ARGS)
pixi run qgis  # I thing qgis is in conda-forge these days, or is that too big a dependency?
  # should first copy the qgis folder to the plugins
pixi run update-qgis-plugin  # TODO copy the qgis folder to the plugins
pixi run resolve-manifests  # run pkg resolve on the checked in manifests

And lastly maybe some combination of these that amounts to doing pretty much all the checks that CI does, but locally. So building docs, running tests.

@visr visr mentioned this pull request Sep 14, 2023
4 tasks
@Hofer-Julian Hofer-Julian merged commit b2fa0af into main Sep 14, 2023
18 checks passed
@Hofer-Julian Hofer-Julian deleted the pixi branch September 14, 2023 11:28
visr pushed a commit that referenced this pull request Sep 14, 2023
After #589,
#381 and countless TeamCity
troubles, it is time to try something new
baszalmstra pushed a commit to prefix-dev/pixi that referenced this pull request Sep 17, 2023
We moved to pixi a bit earlier than expected:
Deltares/Ribasim#594

Most things went quite smooth. If you are interested in specific
feedback when we've used it for a while, let me know.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants