Replacing admin/editor/etc releases with git submodules #7277
Replies: 6 comments 4 replies
-
Has there been recent changes to submodules? Isn't it a quite old feature?
+1
Timing makes sense. Although that would change the build definition mid-release, e.g. the build files for container images would need to be updated. Not sure if adopters expect this especially for custom scripts. But I guess this would minimize the overall migration pain. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
|
What if we reintroduce a monorepo? |
Beta Was this translation helpful? Give feedback.
-
|
+1 for rewriting the Admin UI and also for the timing. If people switch frequently, it's always possible to clone a repo to disc multiple times. Also +1 for Lukas' docs suggestion for common issues. we should also announce this change when it happens, maybe even on the website. |
Beta Was this translation helpful? Give feedback.
-
|
Further experimentation here continues to look good, so I think going ahead with this makes sense. Specific to the admin ui, rewriting history does not break existing tags/releases - the binaries attached to the releases stay the same. The caveat to this is that the tags do get rewritten, so the links to the source for the release/tag link to new history. Since we're not changing functionality this is fine, but if you're trying to build a SBOM or something you will end up with an artifact with the old hash burned into the html, and a tag pointing at the new hash. Assuming we document what was done, and when, I think this is a non-issue. Anyone trying to look that closely at the history is probably doing that with future releases in mind, not existing ones. TODOs:
Open Questions:
|
Beta Was this translation helpful? Give feedback.
-
|
Implementation of this will be part of #7493, please discuss anything further related to this in that discussion. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi all,
For the rest of this discussion I'm going to refer to 'the submodule', which means realistically any major module that's not in the mainline
opencast/opencastcodebase. This list currently stands at:As a committer group, we've noticed that the current version of the submodules in our release branches sometimes lags behind the release branch within the submodule repo itself. Notably,
developfrequently doesn't get updated since there is no release manager there to remember to actually do those updates. This is, obviously, not ideal - testing on things like stable.opencast.org depends on having up-to-date code! Among several suggestions, we identified the usage of git submodules to effectively import those submodule repositories without making significant changes to them. This would allow existing development to continue in those repos without disruption, but also let the mainline repository stay automatically up-to-date with some Github magic. I have been experimenting with this locally, and I think it's a good fit. There will be a learning curve, especially if you are using an oldergitversion and/or have never used submodules before, but it's not hard to figure out in the long run.This runs us into a couple of questions though:
git cloneinto your local clone. With most submodules this isn't an issue - that code is all unique anyway. With the admin UI it's more unfortunate. The admin UI contains the full history of Opencast, which means initial/full clone times can get pretty long. Does it make sense to rewrite the history now that we've identified a good reason to do this aside from 'storing all of the history is dumb, we should remove that'?r/18.xand newer and dropr/17.xsupport at the same time. This, coincidentally, is going to happen right away anyway, but it does mean that those of us supporting not-18+ are going to have to deal with this on a regular basis.I'm going to bring this up at the dev meeting on Tuesday, but I figured I would put this out today so people have time to read and think about this before we talk. Comments and concerns are welcome here as well.
Edit: Rewriting history in the admin module would also include nice-to-haves like removing tabs in favour of spaces, which we've also talked about doing.
Beta Was this translation helpful? Give feedback.
All reactions