MatmaRex / patchdemo

This repository has been moved to GitLab: https://gitlab.wikimedia.org/repos/ci-tools/patchdemo
https://gitlab.wikimedia.org/repos/ci-tools/patchdemo
MIT License
25 stars 21 forks source link

Moving to Wikimedia GitLab? #587

Closed MatmaRex closed 1 year ago

MatmaRex commented 1 year ago

I'm increasingly uncomfortable relying on GitHub for open-source work. How would y'all feel about moving this repository (and issue tracking) to Wikimedia GitLab at https://gitlab.wikimedia.org/?

edg2s commented 1 year ago

I'm increasingly uncomfortable relying on GitHub for open-source work.

Why is this?

MatmaRex commented 1 year ago

I don't want to require Wikimedia contributors to sign up for GitHub.

jdforrester commented 1 year ago

I've invited you both to be members of https://gitlab.wikimedia.org/groups/repos/ci-tools/ which would be the appropriate venue for this.

edg2s commented 1 year ago

I don't want to require Wikimedia contributors to sign up for GitHub.

So this is a Wikimedia project now? :) #351

MatmaRex commented 1 year ago

Heh, well, it feels like it's more of a Wikimedia project than it was two years ago, for sure. ;)

Also, even if it's not under my "personal namespace", it would feel way nicer to have it in some reasonable group like "ci-tools" or something with a couple of related tools, rather than just in a huge bag under "GitHub/Wikimedia" next to 900 mirrors, 500 dead repos and like 100 actual but completely unrelated projects. (I made up these numbers but I don't think I'm that far off.)

jdforrester commented 1 year ago

I don't want to require Wikimedia contributors to sign up for GitHub.

So this is a Wikimedia project now? :) #351

Supported officially about as much as e.g. grunt-stylelint, and a bit less than e.g. stylelint-config-wikimedia etc., I think.

MatmaRex commented 1 year ago

I'd like to also notify past code contributors: @catrope @DannyS712 @jdlrobson @kostajh @MusikAnimal @Tchanders @MarcoAurelioWM @Ammarpad @joakin @samwilson @sbassett29 @juliakieserman @hashar @isaranto @theresnotime @jhsoby @claudiomelo @Func86 @tacsipacsi @kemayo @PTPells

And past issue reporters: @cimurah @WMDE-Fisch @ihurbainpalatin @NovemLinguae @egardner @stephanebisson @amire80 @fredster33 @kizule @urbanecm @legoktm @josephseddon @Dreamy-Jazz @nardog

(I hope notifications work, I couldn't find if GitHub has some limit on mentioning people, and what the limit is)

Please let me know if I shouldn't move this project to Wikimedia GitLab (https://gitlab.wikimedia.org). If there are no objections, I'll probably migrate it next weekend.

isaranto commented 1 year ago

Let's go!!

kizule commented 1 year ago

Sure, I don't see why not.. 🥳🥳🥳

tacsipacsi commented 1 year ago

The disadvantage of moving to gitlab.wikimedia.org is that people who have GitHub accounts but not Wikimedia developer accounts won’t be able to contribute. But Patch Demo is a tool for Wikimedia developers, so we can safely assume that people who want to contribute will already have a Wikimedia developer account or at least won’t have problems creating one.

So to sum up: let’s go!

urbanecm commented 1 year ago

Joining the let's go people. Wikimedia GitLab seems to be a stable platform and I don't see why it can't be used, if the primary PatchDemo maintainers feel like it :).

MarcoAurelioWM commented 1 year ago

In reply to https://github.com/MatmaRex/patchdemo/issues/587#issuecomment-1677227919. Thanks for the ping. I think the repo should be where the owner and/or main developers feel more confortable contributing. If you think wmf gitlab is that place, feel free to move. I personally dislike gitlab and would not move there, but it's not my call to make (although I appreciate the opportunity to have a say). Sincerely.

MatmaRex commented 1 year ago

The GitLab repository is now imported at https://gitlab.wikimedia.org/repos/ci-tools/patchdemo. Please don't do anything important there yet, in case something is wrong and we need to redo it.

Problems:

Other notes:

jdforrester commented 1 year ago

Issues and pull requests (merge requests) were imported, although many of the comments by various people now have me as the author (with the real author described inline). Others have their real authors though. I have no idea how matching them up works, but if anyone knows how to make it better, I'd love to do that and then re-import.

I imagine it's matching to local accounts based on associated e-mail, so if someone doesn't have a local account on Wikimedia GitLab, or does but without the e-mail used on GH associated with it, it'll fake-blame you as the importer instead.

tacsipacsi commented 1 year ago

The question is what that “associated e-mail” is. I used the same personal email address on GitHub as for my Wikimedia developer account, yet it didn’t match in the GitLab copy of this issue. Maybe it used my users.noreply.github.com email address instead of the personal one? For my commit (65146bef462008541da1c53cb385c5ecc79bd834), it definitely did. As it’s a noreply address, I can’t verify it on GitLab (although I think a GitLab admin could verify it).

kostajh commented 1 year ago
  • Issues and pull requests (merge requests) were imported, although many of the comments by various people now have me as the author (with the real author described inline). Others have their real authors though. I have no idea how matching them up works, but if anyone knows how to make it better, I'd love to do that and then re-import.

Do you want to consider Phabricator for task tracking? Per mw:Gitlab/Policy I thought issue tracking was disabled on the Wikimedia instance.

MatmaRex commented 1 year ago

Documentation says: (https://docs.gitlab.com/ee/user/project/import/github.html#import-your-github-repository-into-gitlab)

If a GitHub user’s public email address doesn’t match any GitLab user email address, the user’s activity is associated with the user account that is performing the import.

And this seems to indeed be true (I checked for a couple of people). Well, if you haven't made your email public on GitHub, I guess I don't want to make you do it, so we'll have to live with the import being like it is.

But if you want to: this is about the "Public email" you set at https://github.com/settings/profile, and you must have the same email as one of the verified emails in GitLab at https://gitlab.wikimedia.org/-/profile/emails. I think this doesn't have to actually be your real email address – you just have to be able to receive email there once to verify it with both services.

I think I'll re-import anyway to copy the new comments we've all posted, so you have like… a day to set this up, if you want your comments to be credited properly.


The question is what that “associated e-mail” is. I used the same personal email address on GitHub as for my Wikimedia developer account, yet it didn’t match in the GitLab copy of this issue. Maybe it used my users.noreply.github.com email address instead of the personal one? For my commit (65146be), it definitely did. As it’s a noreply address, I can’t verify it on GitLab (although I think a GitLab admin could verify it).

It's probably different for commits than for comments. You can create commits with any made-up email address and name, so some tools also let you claim them without much verification (with Phabricator we even found it was too permissive: https://phabricator.wikimedia.org/T77959). I can't find any documentation about how GitLab does it, except that I found that it doesn't support .mailmap files (https://gitlab.com/gitlab-org/gitlab/-/issues/14909). Also, even if you can't "claim" the commit now, I think it may become possible to fix in the future (while the imported comments/issues etc. will forever have the wrong authors).


Do you want to consider Phabricator for task tracking? Per mw:Gitlab/Policy I thought issue tracking was disabled on the Wikimedia instance.

It was disabled by default but apparently I could enable it. I want to have a copy of the old issues, visible publicly, and there doesn't seem to be any way to do that without also allowing new issues to be filed. I wouldn't mind Phabricator but I definitely don't want to have both.

sbassett29 commented 1 year ago

Do you want to consider Phabricator for task tracking? Per mw:Gitlab/Policy I thought issue tracking was disabled on the Wikimedia instance.

It was disabled by default but apparently I could enable it. I want to have a copy of the old issues, visible publicly, and there doesn't seem to be any way to do that without also allowing new issues to be filed. I wouldn't mind Phabricator but I definitely don't want to have both.

AIUI, issue-tracking at gitlab.wikimedia.org is only enabled for the Research Team's repos right now, as an exception to Releng's general policy of not enabling Gitlab's issue-tracking. Unless someone has a Very Good Reason™ for doing so, it sounds like Releng plans to be fairly strict about this policy AIUI.

If anyone would like to set up CI/CD on GitLab for me, that would be great.

It should be fairly simple to port the two workflows under https://github.com/MatmaRex/patchdemo/tree/master/.github/workflows to .gitlab-ci.yml, since it looks like they're just running npm test and composer test, for the most part.

Edit: I made an MR with a very basic (and working) example here: https://gitlab.wikimedia.org/repos/ci-tools/patchdemo/-/merge_requests/587

catrope commented 1 year ago

Where should new pull requests / merge requests be submitted? I can't tell from the discussion on this issue whether the Gitlab migration is complete or not. I submitted https://gitlab.wikimedia.org/repos/ci-tools/patchdemo/-/merge_requests/588 and it hasn't been reviewed for 3 weeks, but I also don't see any other activity in either the Gitlab or the Github repos.

MatmaRex commented 1 year ago

Sorry, I've just been procrastinating on it. I intend to archive the GitHub repo here and move to GitLab. I'll try to do it this weekend.

MatmaRex commented 1 year ago

Okay, we're live! I updated all of the links to point to https://gitlab.wikimedia.org/repos/ci-tools/patchdemo. I'll archive this repository now. If there's anything else to do, please comment at https://gitlab.wikimedia.org/repos/ci-tools/patchdemo/-/issues/587.

Thanks for all the advice everyone, and in particular thanks @jdforrester for help setting up my GitLab access and @sbassett29 for setting up the CI.

Regarding issue tracking, it's currently enabled (with the imported issues), but it will probably be disabled and moved to Phabricator, once I figure out how to keep a copy of the old issues available. Let's continue this at https://gitlab.wikimedia.org/repos/ci-tools/patchdemo/-/issues/590.