-
-
Notifications
You must be signed in to change notification settings - Fork 44
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
479 mirai lockfile@main #1263
479 mirai lockfile@main #1263
Conversation
…engineering/teal into 479_callr_lockfile@main
Signed-off-by: Marcin <[email protected]>
Merge branch '479_callr_lockfile@main' of https://github.com/insightsengineering/teal into 479_callr_lockfile@main # Conflicts: # R/teal_lockfile.R
Co-authored-by: Pawel Rucki <[email protected]> Signed-off-by: Marcin <[email protected]>
Co-authored-by: Pawel Rucki <[email protected]> Signed-off-by: Marcin <[email protected]>
Merge branch '479_callr_lockfile@main' of https://github.com/insightsengineering/teal into 479_callr_lockfile@main # Conflicts: # R/teal_lockfile.R
@pawelru this is ready ⭐ |
Signed-off-by: Marcin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor comments
…engineering/teal into 479_mirai_lockfile@main
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good 👍 it took us a while to get there :)
@gogonzo you can do the honors of merging this in : ) great colab team! |
#1276
@pawelru @m7pr
This is a
mirai
alternative. Package seems to address the biggest issues reported during a research:mirai
has a native support ofExtendedTask
mirai
is not being killed whenrunApp
is executed (likecallr
does)mirai
by default opens a deamon in parallel R session without a need to handle thefuture::plan
.mirai
has only one dependency in the whole dependency tree.Disadvantages so far:
we need to pass and setoptions
, system vars, working directory and.libPaths
mirai don't start with custom .libPaths nor options shikokuchuo/mirai#122How does it work:
init
before application starts. This prevents to start the process each time when a new shiny session starts. Process is invoked as a promise and eventuallyteal_app.lock
will be createddownload lockfile
button is hidden by default. If promise is eventually resolved and lockfile is created then download button is shown.teal.renv.lockfile
option. In such caserenv::snapshot
will be skipped and user lockfile will be used in an app.Logs and notifications
Logs are printed for app developer while notifications are presented to the app user:
Lockfile set using option "teal.renv.lockfile" - skipping automatic creation.
Lockfile creation started based on { getwd() }.
Lockfile {path} containing { n-pkgs } packages created{ with errors or warnings }.
Lockfile available to download
Lockfile creation failed.
Lockfile creation failed.