Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Transitioning to nodejs/node #25876

Closed
orangemocha opened this issue Aug 18, 2015 · 15 comments
Closed

Transitioning to nodejs/node #25876

orangemocha opened this issue Aug 18, 2015 · 15 comments

Comments

@orangemocha
Copy link
Contributor

Now that the converged https://github.com/nodejs/node is in place (nodejs/node#2327), we can work on moving this repo to the nodejs org, and the v0.x branches to the nodejs/node repo.

Moving v0.x branches to nodejs/node

Since we'll have PRs open in two repos, I suggest we transition to landing them in nodejs/node, but keep mirroring the status of those branches on the old repo.

Suggested procedure:

  • Modify node-accept-commit (used internally by node-accept-pull-request), so that if a commit is merged into a v0.x branch in nodejs/node, it will force push the updated branch back to the old repo.
  • Modify node-accept-pull-request so that if it is invoked on a PR in the old repo, it will push the change to a temporary ref on nodejs/node and then invoke node-accept-commit on it. Basically, this allows stil using node-accept-pull-request to land PRs that are open in the old repo.
  • Disable node-accept-pull-request to make the following transition atomic
  • Push v0.x branches to nodejs/node, including release tags. Should we also push release branches?
  • Update the release guide to change references from joyent/node to nodejs/node
  • Update the README in the old repo, to signify that this is now an archive of pre-convergence issues and PRs, and that new v0.x issues and PRs should be opened in nodejs/node.
  • Make node-accept-commit fail if invoked directly on the old repo.
  • Re-enable node-accept-pull-request and resume v0.x business as usual.
  • If some one opens a new issue or PR on the old repo, we immediately close it and point them to the section of the README that tells them to open the same on nodejs/node. Unfortunately GitHub doesn't allow disabling new pull requests. We could try to automate this at some point if we feel it's worth it.

Moving joyent/node to nodejs/node-0.x-archive

After we move the branches to nodejs/node, this repo can serve as an archive for existing issues and PRs that are still relevant. And thanks to moving to the nodejs org, it will be easier to mention teams from that organization.

Suggested procedure:

  • Rename joyent/node to joyent/node-v0.x-archive
  • Transfer ownership to the nodejs org
  • Merge collaborators and teams

I have verified that GitHub will redirect links from joyent/node to nodejs/node-0.x-archive.

Any preferences on the name of the transferred repo?

cc: @joyent/node-collaborators , @joyent/node-tsc

@jasnell
Copy link
Member

jasnell commented Aug 18, 2015

👍 The plan sounds good.

@jasnell
Copy link
Member

jasnell commented Aug 18, 2015

That said, we still have 750+ open issues that have yet to be fully resolved. We need to make sure those are not forgotten and get addressed at some point.

@rvagg
Copy link
Member

rvagg commented Aug 19, 2015

Should we also push release branches?

If it's not too much trouble I don't see why not, I've written many scripts that depend on certain refs being available in a repo and if those were to disappear it would be a pain; so we should make transition as painless as possible so that folks only have to switch joyent/node to nodejs/node and it just works.

Any preferences on the name of the transferred repo?

"node-0.x-archive" sounds reasonable, if a little verbose

Merge collaborators and teams

From what I understand nodejs/node#2413 takes care of the remaining outstanding collaborator still to be onboarded. nodejs/node#2416 takes care of merging release processes/teams. Website teams should already be converged, docker teams are converging, are there other teams?

Otherwise lgtm fwiw.

@orangemocha
Copy link
Contributor Author

Sure, porting release branches sounds good.

"node-0.x-archive" sounds reasonable, if a little verbose

Maybe node-v0.x-archive (with the additional v) would be better since it's more consistent with the branch names. One more letter of verbosity 😒 Perhaps we can drop the -archive part.

From what I understand nodejs/node#2413 takes care of the remaining outstanding collaborator still to be onboarded. nodejs/node#2416 takes care of merging release processes/teams. Website teams should already be converged, docker teams are converging, are there other teams?

Right, we'll just want to make sure that the teams after the move look the same as https://github.com/nodejs/node/settings/collaboration. That might mean deleting some collaborators/teams from the old repo.

Otherwise lgtm fwiw

I'll work on the CI changes.

@misterdjules
Copy link

@orangemocha Yes, release branches need to be pushed to nodejs/node.

Before renaming and moving the repository, we'll need to make sure that we can do v0.10.x and v0.12.x releases from nodejs/node. Is that the case already?

@orangemocha
Copy link
Contributor Author

@misterdjules I was hoping that you could confirm that part 😄 The old Jenkins job is still in place for it. So is there any part of the release process that relies on the location of the repository?

@rvagg
Copy link
Member

rvagg commented Aug 20, 2015

@misterdjules @orangemocha I have a new server set up for new.nodejs.org and I'm planning on doing some test runs on 0.1[02].x releases there when we get all the pieces in place. I agree re leaving things as they are until we can confirm this because we don't want to get caught with our pants down needing to do a security release and not being able to.

@orangemocha
Copy link
Contributor Author

Ok, definitely won't touch anything until you guys can confirm that we can continue making releases.

@orangemocha
Copy link
Contributor Author

I have prepared the CI changes and verified that the current release procedure does not depend in anyway on the location of the repo. In fact, most of the release is built using a personal fork of joyent/node. The only extra step (added to the above list) is to update the release guide to change references from joyent/node to nodejs/node.

Once the PR to update the readme gets approved, I will schedule to the move for the next day, and announce the time here.

@misterdjules @rvagg let me know if you have any objections.

@rvagg
Copy link
Member

rvagg commented Aug 25, 2015

Cool, I'd like to discuss 0.10 and 0.12 releases in tomorrow/today's Build WG meeting, I've been thinking how we might be able to remove the requirement of a converged release procedure from getting v4 out without introducing any risks. But since both branches are ready for another release we should use those to get it all sorted out as soon as possible after v4.

@orangemocha
Copy link
Contributor Author

All the pieces are in place for the transition and the TSC has given the green light. In order to not introduce too much distraction during the 4.0. release, and also to give some notice to collaborators and not make the transition on a Friday, the move will happen this coming Monday at noon UTC: http://www.timeanddate.com/worldclock/fixedtime.html?msg=Move+%26+archive+joyent%2Fnode+&iso=20150831T14&p1=31&ah=1

node-accept-pull-request will be disabled for a short time during the transition (hopefully less than 1 hour), after which nodejs/node will the be master repo for v0.12 and v0.10 development. node-accept-pull-request will internally redirect PRs on the old repo to the new repo, and also keep the two in sync, making the transition pretty much transparent.

/cc @joyent/node-collaborators

@orangemocha
Copy link
Contributor Author

@joyent/node-collaborators : the move of joyent/node begins NOW. I will update here when done.

orangemocha added a commit that referenced this issue Aug 31, 2015
Ref: #25876

PR-URL: #25897
Reviewed-By: jasnell - James M Snell <jasnell@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis  <info@bnoordhuis.nl>
@orangemocha
Copy link
Contributor Author

All done! https://github.com/joyent/node now redirects to https://github.com/nodejs/node-v0.x-archive.

https://github.com/nodejs/node now has v0.10 & v0.12 branches, and those branches should be considered authoritative for v0.x releases. Any commits landed there through CI will also get mirrored to https://github.com/nodejs/node-v0.x-archive.

Existing PRs in https://github.com/nodejs/node-v0.x-archive can be landed via node-accept-pull-request as if you were landing them on that repo. Internally, the job will redirect the changes to https://github.com/nodejs/node (and mirror them back to the archive repo).

New PRs and issues in https://github.com/nodejs/node-v0.x-archive should be rejected immediately, pointing to the README.

The team settings of https://github.com/nodejs/node-v0.x-archive are now identical to those of https://github.com/nodejs/node.

/cc: @nodejs/collaborators @nodejs/tsc 😄

@Fishrock123
Copy link
Member

👍

@jasnell
Copy link
Member

jasnell commented Aug 31, 2015

Awesome! Thank you for the work on this @orangemocha
On Aug 31, 2015 6:04 AM, "Alexis Campailla" notifications@github.com
wrote:

All done! https://github.com/joyent/node now redirects to
https://github.com/nodejs/node-v0.x-archive.

https://github.com/nodejs/node now has v0.10 & v0.12 branches, and those
branches should be considered authoritative for v0.x releases. Any commits
landed there through CI will also get mirrored to
https://github.com/nodejs/node-v0.x-archive.

Existing PRs in https://github.com/nodejs/node-v0.x-archive can be landed
via node-accept-pull-request as if you were landing them on that repo.
Internally, the job will redirect the changes to
https://github.com/nodejs/node (and mirror them back to the archive repo).

New PRs and issues in https://github.com/nodejs/node-v0.x-archive should
be rejected immediately, pointing to the README
https://github.com/nodejs/node-v0.x-archive/blob/master/README.md.

The team settings of https://github.com/nodejs/node-v0.x-archive are now
identical to those of https://github.com/nodejs/node.

/cc: @nodejs/collaborators
https://github.com/orgs/nodejs/teams/collaborators @nodejs/tsc
https://github.com/orgs/nodejs/teams/tsc [image: 😄]


Reply to this email directly or view it on GitHub
#25876 (comment)
.

orangemocha added a commit to nodejs/nodejs.org-archive that referenced this issue Aug 31, 2015
Updating a few links to invite people to open issues
on nodejs/node instead of joyent/node.

Ref: nodejs/node-v0.x-archive#25876
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants