-
Notifications
You must be signed in to change notification settings - Fork 89
Labels
bugSomething isn't workingSomething isn't workingdependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or request
Milestone
Description
Request
Library install tasks in main.yaml are designed to be reusable, but they were only used to build the project clp-core via task deps:core.
Introduction of a new project task deps:spider in #1318 exposes several flaws within our deps install system:
- Race conditions could occur when core and spider simultaneously invoke install tasks and utilities.
- Checksums are not properly implemented to detect
up-to-datestatus of individual lib installation. - The combined checksum file is useless and does not help checking if
task deps:coreis up-to-date. - Combined
cmake-settingsfiles forcoreandspiderboth lists superfluous dependencies.
Possible implementation
This section will be updated as we open PRs to address each issue.
- Fix the race conditions that could occur when both projects are trying to combine cmake settings to the same file. The rest of the issues are unaddressed.
- Avoid race conditions when initializing
CMAKE_SETTINGS_DIR.- fix(taskfiles)!: Prevent
CMAKE_SETTINGS_DIRinitialization race conditions in concurrent dependency installs using run-oncemake-or-clear-dir. yscope-dev-utils#91 - fix(deps): Update
yscope-dev-utilsto y-scope/yscope-dev-utils@49e0749 to resolve a race condition incmake:install-deps-and-generate-settings(fixes #1553). #1542
- fix(taskfiles)!: Prevent
- Properly populate the contents in cmake settings files such as
all-core.cmakeandall-spider.cmake - Split each library install into its own file for better lib change detection
- Avoid repeating Boost install
- Avoid repeating install for libs using
deps:utils:install-remote-cmake-libusing checksums - Remove combined checksum file
Reactions are currently unavailable
Sub-issues
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingdependenciesPull requests that update a dependency filePull requests that update a dependency fileenhancementNew feature or requestNew feature or request