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

Transitioning to nodejs/node #25876

Description

@orangemocha

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

Activity

  1. jasnell commented on Aug 18, 2015

    @jasnell
    Member

    👍 The plan sounds good.

  2. jasnell commented on Aug 18, 2015

    @jasnell
    Member

    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.

  3. rvagg commented on Aug 19, 2015

    @rvagg
    Member

    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.

  4. orangemocha commented on Aug 19, 2015

    @orangemocha
    ContributorAuthor

    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.

  5. misterdjules commented on Aug 19, 2015

    @misterdjules

    @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?

  6. orangemocha commented on Aug 19, 2015

    @orangemocha
    ContributorAuthor

    @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?

  7. rvagg commented on Aug 20, 2015

    @rvagg
    Member

    @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.

  8. orangemocha commented on Aug 20, 2015

    @orangemocha
    ContributorAuthor

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

  9. orangemocha commented on Aug 25, 2015

    @orangemocha
    ContributorAuthor

    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.

  10. rvagg commented on Aug 25, 2015

    @rvagg
    Member

    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.

  11. orangemocha commented on Aug 27, 2015

    @orangemocha
    ContributorAuthor

    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

  12. orangemocha commented on Aug 31, 2015

    @orangemocha
    ContributorAuthor

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

  13. orangemocha commented on Aug 31, 2015

    @orangemocha
    ContributorAuthor

    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 😄

  14. Fishrock123 commented on Aug 31, 2015

    @Fishrock123

    👍

  15. jasnell commented on Aug 31, 2015

    @jasnell
    Member

    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)
    .

  16. added a commit that references this issue on Aug 31, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions