-
Notifications
You must be signed in to change notification settings - Fork 595
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
Enable multiple revisions for project repos #4659
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
You could save disk space by cloning with depth = 0 when a revision is specified |
Thanks @bentsherman , great idea, will do, for |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
yes I suppose we could just clone with depth = 0 in all cases, since no revision just defaults to |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Ah! unfortunately we cannot implement the |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
… operation Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
…f "master" Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
I have been studying and making experiments using a local bare repository, as a local intermediate between the remote repo and the various checked out revisions. In my first round of attempts, I was trying to use the local bare repo as the source of truth for any local checkouts, in substitution for the remote repo. Essentially, the idea was:
This does not work at present, as the general assumption in AssetManager methods is that the "source of truth" has everything available, i.e. both repo information and file contents. However a bare repo lacks the latter. Hence, I started an attempt of targeted usage of either bare or remote, depending on the required information. This not only is confusing, but currently fails in my tests, again because of assumptions that cross each other around the existence and contents of the various types of repos. At the end of today: To bring the effort to a more manageable and productive ground, I have decided to move forward with a radically simplified approach:
This approach, if workable, tackles the main goal of this round of PR revision: to locally use commits to store and run pipelines, to avoid clashes when updating repositories. |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
I have started to add localBarePath. Scope is:
Ok, I have fixed the chicken and egg at AssetManager instantiation, between defining localPath and devining the repository provider. Using localBarePath has been instrumental. Next:
To this end I have left some intermediate notes in the codebase, AssetManager.groovy. |
@pditommaso Any tips on how to get a commitID for a branch or tag, I am a taker. |
Not sure how much I can help this week. @bentsherman you want to have look at this |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
thanks Paolo. did good progress myself. |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Good progress today. Notes on revision dereferencing (working)
|
Outstanding bits right now:
Point 3. might actually have been already there with the original implementation - have to check. Issues arise when multiple branches/tags all have the same commits in their history. It is amplified in my tests, as I am using dummy pipeline repos. |
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
On point 2. above, wondering whether we should leverage user-provided information more, when it comes to printing out information on repository in use. I.e.:
|
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
This reverts commit 3b44f9f.
Signed-off-by: Dr Marco Claudio De La Pierre <marco.delapierre@gmail.com>
As dicussed in meeting, on point 1., let me re-implement with the original class signature for Note on available code so far:
|
This PR adds support for handling local copies of multiple revisions of the same pipeline.
Key points:
NXF_ASSETS
, each pipeline is now pulled as<org>/<repo>[:<revision>]
;:<revision>
is only appended if the corresponding flag was used on CLI,-r
/--revision
revision
attribute to theAssetManager
class, as both pipeline name and revision are now required to fully identify a pipelinerun, pull, clone, drop, list, view, config, info, inspect, kuberun
AssetManagerTest
have been updatedCaveats:
Jgit
does not implementgit worktree
, so the original idea within Allow the concurrent run of multiple pipeline revisions #2870 could not be applieddepth = 1
(shallow clones) was investigated to reduce disk usage, but could not be implemented as it would not allow to checkout branches/tags/commits--revision
and with--revision <default branch>
create two duplicate pulls; this is not optimal, but with very limited known negative impact; [update] this only happens if the default branch is not declared in the manifest and differs frommaster
master
, pulling and running it is now possible without specifying the branch name explicitlyCloses #2870 .
Also indirectly addresses #3593