-
Notifications
You must be signed in to change notification settings - Fork 5
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
Share manifests #740
Merged
Merged
Share manifests #740
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Running it on the root project is not needed since that doesn't have a compat section.
So we always have everything downloaded at once, not separate subsets depending on the sub-project.
Fixes this error: ``` WARNING: --output requested, but no modules defined during run └ ┌ Error: Pkg.precompile error ```
This reverts commit b0faaae.
Blocked since this seems to be hitting an issue on Julia 1.9.0 on TeamCity that is fixed in the latest 1.9 release, see #738 (comment). |
visr
added
blocker
Someone should do this ASAP
and removed
blocker
Someone should do this ASAP
labels
Nov 7, 2023
Hofer-Julian
approved these changes
Nov 9, 2023
visr
added a commit
that referenced
this pull request
Nov 10, 2023
Follow up to #740. --------- Co-authored-by: Hofer-Julian <[email protected]>
visr
added a commit
that referenced
this pull request
Nov 13, 2023
One frequent reason that `libribasim` and `ribasim_cli` builds break is because we add a dependency to the core, and we forget to resolve the Manifests of `libribasim` and `ribasim_cli`. (e.g. #484). This adds an entry like `manifest = "../Manifest.toml"` to the `core`, `libribasim` and `ribasim_cli` Project.toml, which all point to the new `root` Manifest. With this they still have their own Project, but a shared Manifest. This option exists to make it easier to work with multiple related projects in one monorepo. ~~As a follow-up we could consider also doing~~ We also do this for the remaining two projects, `docs` and `create_binaries`. `create_binaries` doesn't depend on Ribasim, so there is not as much benefit. `docs` does, currently not via Project.toml, but via adding it to the LOAD_PATH. It would be cleaner to also use a shared Manifest there. One thing to check if the unmaintained docs dependencies don't hold back Ribasim dependencies, see #621 (EDIT: they don't). ~~This is on top of #738, but could be separated out if needed.~~ Also simplifies the docs, and has a not-directly-related commit 8403bef that runs CompatHelper for all projects, not just core. For reference, the root project is populated like this: `dev ./core ./docs build/create_binaries build/libribasim build/ribasim_cli`.
visr
added a commit
that referenced
this pull request
Nov 13, 2023
Follow up to #740. --------- Co-authored-by: Hofer-Julian <[email protected]>
visr
added a commit
that referenced
this pull request
Nov 14, 2023
To address an issue with running the same ribasim binary simultaneously from different workers. ``` InitError(mod=:WindowsTimeZoneIDs, error=Base.IOError(msg="unlink("D:\\buildAgent\\work\\c463fd4bc9a9a18\\imod_collector_devel\\ribasim\\share\\julia\\scratchspaces\\f269a46b-ccf7-5d73-abea-4c690281aa53\\build\\local\\windowsZones.xml"): resource busy or locked (EBUSY)", code=-4082) ``` In making this PR I realized I forgot in #740 to actually run `strip_cldr`.
visr
added a commit
that referenced
this pull request
Nov 14, 2023
To address an issue with running the same ribasim binary simultaneously from different workers. ``` InitError(mod=:WindowsTimeZoneIDs, error=Base.IOError(msg="unlink("D:\\buildAgent\\work\\c463fd4bc9a9a18\\imod_collector_devel\\ribasim\\share\\julia\\scratchspaces\\f269a46b-ccf7-5d73-abea-4c690281aa53\\build\\local\\windowsZones.xml"): resource busy or locked (EBUSY)", code=-4082) ``` In making this PR I realized I forgot in #740 to actually run `strip_cldr`.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
One frequent reason that
libribasim
andribasim_cli
builds break is because we add a dependency to the core, and we forget to resolve the Manifests oflibribasim
andribasim_cli
. (e.g. #484).This adds an entry like
manifest = "../Manifest.toml"
to thecore
,libribasim
andribasim_cli
Project.toml, which all point to the newroot
Manifest. With this they still have their own Project, but a shared Manifest. This option exists to make it easier to work with multiple related projects in one monorepo.As a follow-up we could consider also doingWe also do this for the remaining two projects,docs
andcreate_binaries
.create_binaries
doesn't depend on Ribasim, so there is not as much benefit.docs
does, currently not via Project.toml, but via adding it to the LOAD_PATH. It would be cleaner to also use a shared Manifest there. One thing to check if the unmaintained docs dependencies don't hold back Ribasim dependencies, see #621 (EDIT: they don't).This is on top of #738, but could be separated out if needed.Also simplifies the docs, and has a not-directly-related commit 8403bef that runs CompatHelper for all projects, not just core.
For reference, the root project is populated like this:
dev ./core ./docs build/create_binaries build/libribasim build/ribasim_cli
.