#2573 master to main followups
Closed: Accepted 3 years ago by kevin. Opened 3 years ago by kevin.

Hey FESCo.

I apparently misunderstood what we agreed to (Was I the only one?).

We went ahead and moved all the repository namespaces on src.fedoraproject.org (except flatpak because we talked with flatpak maintainers and agreed to do something different for them later).

So, on:

  • tests - should we:
    1. just put it back to using master
    2. Move it to just using 'main'.
    3. Allow a symref or not for 'master' (Test maintainers say tests have master in them and they need some time to convert) for X time.

I would prefer to keep them using main and a timed symref for them to adjust tests seems fine.

  • flatpaks: Is it ok for them to just use 'stable' as their only branch name? I am not sure if this is something fesco cares about, but wanted to mention it.

flatpaks have only one branch, it's the stable branch they build for. There's no per release or 'development' branch here.

  • modules:
    1. Move them back to 'master'
    2. Leave them using 'rawhide' / 'main' symref like the rpms and other namespaces

I'm not sure how many modules even are using a 'master' stream, but I personally would like them to change to main or rawhide if any are.

Thoughts?


Modules shouldn't be using master at all (save for some early ones). The guidelines say that the branch name will match the stream name and that stream names should be descriptive. For special cases we advise the use of rolling as the branch name, not master. That said, if they are using the master branch, we can't actually change that under them. It would actually change the stream for which they are building which could result in upgrade issues. So for modules I'd just revert them to master for now. This will not likely affect many people.

Regarding tests: switching to main and adding a timed symref sounds good to me.

  • modules: I agree with @sgallagh - if this affects the stream name, then the branch name change should be reverted, if any modules use "master" (I know that some of the ancient Java modules did have master branches - maven, ant, javapackages-tools - though the "dist-git" release-named branches and master branch were retired two years ago, and renaming retired "master" branches does not seem like a good idea to me anyway)

  • flatpaks: "stable only" sounds good, and maintainers seem to be on board with this, so it's fine

  • tests: how many repos in "tests" namespace are there? maybe coordinate with maintainers there as well. some were definitely surprised to see their branches get renamed under them (selinux) and I think python is also weird now (rawhide, master, main, are all available)

As tests/selinux maintainer, I prefer to have main default branch without any aliases and 'master' branch which would be maintained by us and dropped by when we fix all references. 'master' could be readonly if it's not acceptable to be a regular, not default, branch.

Thanks!

for modules: +1 to @sgallagh

for flatpaks: +1 to @decathorpe

for tests: maybe we can just do the switch to main (essentially what @plautrba said).
https://src.fedoraproject.org/projects/tests/%2A shows that there are exactly 35 tests repos. I think we can coordinate with those 35 34 owners directly.

modules, flatpaks: ack

tests:

As an example, we have this in tests.yaml:

    repositories:
    - repo: "https://src.fedoraproject.org/tests/python.git"
      dest: "python"
    - repo: "https://src.fedoraproject.org/rpms/pyproject-rpm-macros.git"
      dest: "pyproject-rpm-macros"

Whatever we do, this should keep working. If it primarily just clones the default branch whatever it may be, we are good either way. If it clones a harcoded branch, it will be tricky if it is main for the first repo and rawhide for the second.

For tmt tests, master is used as the default ref so any config which does not explicitly define a branch will be broken. We'll work on updating the tooling soon but it will take time until it gets through the pipes. So I agree with:

I would prefer to keep them using main and a timed symref for them to adjust tests seems fine.

A month or two would give us time to provide a fluent transition to the users.

ok, we went ahead and updated flatpaks (to only use 'stable') and modules we moved back to 'master'

We haven't done anything with tests yet, but as soon as we come to a consensus here we can adjust that as desired (probibly tomorrow morning). I don't mind having a master symref around, but we should set a specifc time/data/whatever to remove it so it's not forgotten?

So, for modules, are we going to create master as the default branch going further or should we change them to something else?

I think that all modules have a master branch because "fedpkg request-repo" always creates a master branch.

I think that all modules have a master branch because "fedpkg request-repo" always creates a master branch.

So all modules could have a 'rawhide' branch because "fedpkg request-repo" creates the 'rawhide' branch?

Yes. My point was that you find that branch at all modules. But that does not mean that it contains any meaningful content (i.e. stream).

In other words fedpkg request-repo for modules should not create any explicit branch at all.

Either that, or get a new argument for specifying a brach name. Otherwise the next command is always "fedpkg request-branch".

But the modular request-branch has a mandatory service level option. Maybe better not to conflate them.

Not to push you all or anything, can we make the final decision as soon as possible, since its blocking new repos creation not to mention the changes needed for fedscm-admin and fedpkg.

So far, we got

rpms and containers:
Existing repos: Default to rawhide branch with main symlink
Future repos: Same as above

modules:
Existing repos: Leave them with master as default branch
Future repos: <Still Discussing>

flatpaks:
Existing repos: Default to stable branch
Future repos: Same as above

tests:
Exisitng repos: <Still Discussing>
Future repos: <Still Discussing>

So, IMHO: lets leave modules alone now and move fedpkg request-repo improvements over to the fedpkg maintainers. If they can make it so you can request streams up front that would be a win, but it doesn't have to involve this work.

tests: proposal: move default branch to 'main' and add a symref for 'master'. master symref to be removed after fedora 34 is released.

@kevin can we expect the tests to be fixed today (symref to master missing)? we see various components hit by this

@mvadkert We can understand the problem, but it would be better if we have a final decision and then we can work on it rather than keep juggling things.

 If they can make it so you can request streams up front that would be a win, but it doesn't have to involve this work. 

This might take some time rather a day or two. So, lets change the the future requests to rawhide until we have a fix for this? Also fedpkg already has this feature and fedscm-admin also can handle it. People can either choose to use the rawhide or not, thats up to them.

For tmt tests, master is used as the default ref so any config which does not explicitly define a branch will be broken.

Suggestion: Don't have a default ref, but rather use the default branch of the repo (the one that is checked out when you clone it). Would that work?

For tmt tests, master is used as the default ref so any config which does not explicitly define a branch will be broken.

Suggestion: Don't have a default ref, but rather use the default branch of the repo (the one that is checked out when you clone it). Would that work?

Sure, that is how we are fixing it, but it will take some time to roll out the change in every corner.

tests: proposal: move default branch to 'main' and add a symref for 'master'. master symref to be removed after fedora 34 is released.

Sounds good. Could we make this change soon? It's already couple of days and tests are breaking again and again...

I have a high number on tests converted in fmf and they are now broken which affected important parts of my job and completely stopped some of it due to broken systems. There should be a link from master to whatever new name at least for the time it takes to adapt the tooling. I am sure people will understand it for the sake of diversity.

FESCo said it was ok with my proposal above. we will get it implemented today.

Sorry for the hassle for test namespace folks. ;(

ok, tests should be all changed. They now have a main branch with a master symref.

@mohanboddu is going to work on modules improvements.

Please report any further issues to the infra or releng ticket queues. Sorry this was more painful than hoped. ;(

Metadata Update from @kevin:
- Issue close_status updated to: Accepted
- Issue status updated to: Closed (was: Open)

3 years ago

ok, tests should be all changed. They now have a main branch with a master symref.

Verified that tests are now working again. Thanks for the fix.

Login to comment on this ticket.

Metadata