#3492 Migration of fesco tracker and fesco-docs projects to forge.fedoraproject.org
Opened by decathorpe. Modified

Some groups are already moving (or in the process of moving) to the new forge, and I think it would kind of look bad if FESCo would be late to the party.

There are only two fesco-associated projects on pagure.io:

  • https://pagure.io/fesco (this one)
  • https://pagure.io/fesco/fesco-docs

Looks like the "fesco" group in FAS and on pagure.io are equivalent and in sync, so that makes things easier.

As I understand it, we would need:

  • a new "fesco" organization on forge.fp.o
  • reuse existing "fesco" FAS group to map to a Team with "owner" privileges in the "fesco" org

I'm not sure if it makes sense to have two teams with split "owner" / "member" privileges for FESCo as described here (where I asked about how to handle migration of the rust-sig group).

Moving the fesco-docs project should be fairly straightforward - though the configuration for https://docs.fedoraproject.org/en-US/fesco/ probably needs to be updated to point to the new location.

Moving the main issue tracker here is a bit more tricky, since we need to decide how to handle existing private tickets.


Going through past tickets in this project, I see ~6 private tickets from the past 4 years, of which one was initially public, two could (maybe even should) probably have been public to begin with, and another two were harmless like "let's find a new / better time for meetings".

Given the quite small number of existing private tickets, I don't think it is really necessary to provide a way to file "private" tickets with fesco going forward. In the event that there are things that fesco / fesco members need to be contacted in private about, there are other ways to handle this (the moderated / private mailing list, or even end-to-end-encrypted chat or group chat via Matrix).

Proposal:

  1. migrate pagure.io/fesco (except private tickets) to forge.fp.o/fesco/tickets
  2. migrate private tickets from pagure.io/fesco to forge.fp.o/fesco/private - but only for archival purposes
  3. migrate pagure.io/fesco/fesco-docs to forge.fp.o/fesco/docs

Honestly, I'd rather wait. I've also made the same statement about Council and other groups. Having the ability to create and manage private tickets in regular repositories is pretty important, and I don't really want to deal with weird half-measures.

Alternative partial proposal that should be uncontroversial:

  • keep fesco issue tracker on pagure.io until private issues in public repos are available on forge.fp.o
  • migrate fesco-docs repo to forge.fp.o

Sure. +1

Hmm, I'd prefer to do the migration. I think that this will provide useful experience to FESCo members which we'll need when trying to make decisions about the migration. Nothing beats using a service in anger in being able to figure out shortcomings.

Alternative proposal: migrate both repos, without the private tickets. For the private tickets, either skip them if this is possible to do without messing up the numbering, or make a dummy placeholder tickets without content, just with a short message that the ticket is private until we figure things out. For private stuff, ask people to write to the fesco mailing list for now.

For the private tickets, either skip them if this is possible to do without messing up the numbering

This is how the migration is implemented, private issues are skipped when migrating a repo. You can either migrate everything except private tickets or only private tickets but nothing else.

or make a dummy placeholder tickets without content, just with a short message that the ticket is private until we figure things out.

Making placeholders should work but I'm not sure about stable numbering (in that case, or in any case).

Somebody please correct me if I'm wrong, but I remember that it was mentioned that when the migration happens, issue numbers are preserved. Not sure though what happens if only some of the tickets are migrated. It would be good to clarify this.

FYI, I just checked the docs issues that were migrated and yes, issue numbers are preserved.

I migrated the reproducible builds sig and it was entirely painless. We didn't have any private tickets though.

@humaton Any updates on the forge migration status?

I think the only thing missing is for a fesco member to file an infra ticket to request the org to get created. The fesco-docs repo should be an easy migration. The main "fesco" repo will have to wait until private tickets are implemented.

Does anybody know if / when "docs" sites like fesco-docs can be migrated to the new forge, and / or what steps would be necessary to point the docs site build to the new repository location?

They can be migrated anytime.

See https://gitlab.com/fedora/docs/docs-website/docs-fp-o/-/merge_requests/37/ for example (although I think we should always use a 'main' branch now and we did change that in a later commit).

→ https://forge.fedoraproject.org/infra/tickets/issues/13097

So the docs repo has moved (https://pagure.io/fesco/fesco-docs → https://forge.fedoraproject.org/fesco/docs) and https://gitlab.com/fedora/docs/docs-website/docs-fp-o has been updated.

Should I delete the old repo? I think pagure doesn't have a concept of archiving of a repo…

Archive is not a thing here, but we can turn off Issues and Pull Requests, which is almost the same thing.

I don't think we should turn them off, we should just set them read-only.

Turning them off means any link out there to them is now 404.
If we enable them and make them read-only, they are at least still visable and people can know where to go.

This is indeed what zbyszek did - Pull Requests are disabled, and Issues are read-only.

That means links to pull requests are now HTTP/404, but I don't see a way to make pull requests "read only" without disabling them.

Ah yeah, I was thinking of the 'pull request access only' which would be good to set.

That way, no one could push to the git repo without a pr and pr's would be disabled.

But yeah, thanks!

Ok, this seems to work. Now links to old PRs are valid again.

This doesn't seem to work as expected. We got a new pull request today. I disabled pull requests again.

You can use https://docs.pagure.org/pagure/usage/pr_custom_page.html to add a banner saying PRs are no longer accepted here and add a link to the new repo. I think that'd be better than breaking URLs to old PRs.

Anybody know the status of private tickets in public repos in forgejo? It looks like some progress was made in https://codeberg.org/forgejo/design/issues/2 but it would be good to know if this will happen on forge.fp.o in time before pagure.io is shut down without pagure.io/fesco having migrated over.

At this point I think we should move this repo to the new forge and archive the private issue in a separated private repo.

At this point I think we should move this repo to the new forge and archive the private issue in a separated private repo.

+1

At this point I think we should move this repo to the new forge and archive the private issue in a separated private repo.

FWIW this is what we did for Fedora Council. Happy to help do it the same way.

Putting this on the agenda for today's meeting.

Metadata Update from @sgallagh:
- Issue tagged with: meeting

At today's FESCo meeting, we agreed to wait four more weeks to decide here, while we hope for private ticket support to be added.

Metadata Update from @sgallagh:
- Issue untagged with: meeting

It's been over a month, and flock is coming up ... it looks like we really need to do something here. I don't think private tickets are supported yet, so I propose the following:

  1. migrate this repository (minus private tickets) to forge.fedoraproject.org/fesco/tickets
  2. migrate private issues to forge.fedoraproject.org/fesco/tickets-private-archive and make it private to fesco members
  3. enable private tickets in fesco/tickets repo when the feature eventually become available (if needed at all)

And until private tickets are available again, people can contact fesco members privately (email or encrypted Matrix DM / room).

Metadata Update from @decathorpe:
- Issue tagged with: fast track

+1 and I think we actually agreed to that in the past, but I guess not...

Is there a way to re-merge everything later when private tickets are supported?

-1, at least for now.

Pushing for a retirement of the existing infrastructure based on some prearranged schedule, when the new infra is not implementing the desired features yet, is putting the cart before the horse.

The fact that it was announced months ago that pagure will be retired during Flock is unnecessary showmanship. The schedule needs to be based on implementation status, not conference dates.

Let's get a clear answer when private tickets be supported. Then we can make an informed decision.

Metadata Update from @decathorpe:
- Issue untagged with: fast track
- Issue tagged with: meeting

-1 from me as well. I'm not happy about this kind of stuff, it's not cool and it's unnecessarily stressful.

Let's get a clear answer when private tickets be supported. Then we can make an informed decision.

Agreed. @humaton, @ryanlerch, please can you provide more information here or in the FESCo meeting? Is it possible to keep using pagure.io until private issues are implemented on Fedora Forge?

And I feel the same about the retirement date set before features were implemented. I understand if there were extenuating circumstances here, but can we try to improve this for the distgit -> Forgejo migration? Ideally, FESCo and the Forge Initiative could agree on a list of requirements before a date is set for distgit migration.

Is there a way to re-merge everything later when private tickets are supported?

I have the same question. It would make the workaround proposal more palatable if we could eventually re-merge the issue databases.

After discussing this in person with @humaton during Flock, I change my vote to: +1

@zbyszek Could you detail what made you change your mind?

This topic is on the agenda for today's meeting:
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/HKQ332NLB7YKBY6AM35PXZ6NRWVAMUI6/

Is there a way to re-merge everything later when private tickets are supported?

@humaton @ryanlerch @nphilipp can you answer this? It's come up a number of times... also if you could provide an update on private issues, I think fesco would be much happier.

From today's meeting:

AGREED: Migrate FESCo public issues to the forge. Migrate private issues to a separate repo on the forge, for archival purposes only. Open up the mailing list for non-subscribers as a temporary measure until private tickets can be handled at the forge. (+6, 2, 0)

(Meeting log at 17:58:24)

Metadata Update from @decathorpe:
- Issue untagged with: meeting

Metadata