Presentation is loading. Please wait.

Presentation is loading. Please wait.

GitHub and the MPI Forum: The Short Version December 9, 2015 San Jose, CA.

Similar presentations


Presentation on theme: "GitHub and the MPI Forum: The Short Version December 9, 2015 San Jose, CA."— Presentation transcript:

1 GitHub and the MPI Forum: The Short Version December 9, 2015 San Jose, CA

2 RTFW (Read the Fine Wiki) Getting started with Git Getting started with GitHub Workflows Filing an issue (“ticket”) Filing a pull request Migrating from SVN / Trac https://github.com/mpi-forum/mpi-issues/wiki

3 How do I get access? Read and agree to the terms (on the wiki)wiki Don’t post unofficial copies, don’t post the source publicly Set up a GitHub account Enable 2-factor authentication on your GitHub account! All the cool kids are doing it Send an email to Wesley (wesley.bland@intel.com) or Jeff (jsquyres@cisco.com) with your usernamewesley.bland@intel.comjsquyres@cisco.com

4 General MPI Forum GitHub scheme Issue #28 Describe proposal Attach PDFs Refer to its corresponding PR (#107)...etc. (Public) Pull Request #107 Easily see text / LaTeX diff Should refer to its corresponding issue (#28) (Private) Git repo for LaTeX source code (Private) Wiki (Public) mpi-forum / mpi-issues (public) mpi-forum / mpi-standard (private)

5 Working Group workflows: general mpi-forum Github organization Chapter authors, editors have write access to private repos mpi-standard Git repo [Private] mpi-issues Git repo [Public] mpiwg-tools Github organization Working group members have write access to private repos mpi-standard Git repo [Private] Fork jdinan user mpi-standard Git repo [Private] Fork Pull Request tools-issues Git repo [Public] Pull Request

6 Typical proposal workflow Create an issue: describe the proposal Create a pull request: implement proposal in text Link the issue and pull request MPI Forum votes to approve the proposal Get chapter committee to approve the pull request (NEW) Author Editor Forum Chapter Committees Pull request is merged Chapter Committees / Authors help resolve merge issues (if any)

7 RTFW (Read the Fine Wiki) https://github.com/mpi-forum/mpi-issues/wiki Getting started with Git Getting started with GitHub Workflows Filing an issue (“ticket”) Filing a pull request Migrating from SVN / Trac

8 Git / GitHub terminology Git: Distributed version control system Subversion has a single “upstream” Git can have multiple “upstreams” GitHub(.com): hosting service Repositories: Git repositories and associated tools Organizations: Groups of GitHub repositories and users

9 General MPI Forum GitHub scheme Organization: mpi-forum Repositories: mpi-issues (public) mpi-standard (private) You must be a member of the mpi-fourm org to see the private mpi-standard repo “Absolute” repo names: mpi-forum/mpi-issues mpi-forum/mpi-standard

10 Who can access the source repo? Anyone on the Forum Just like previous access to SVN New: Anyone who agrees to our rules Don’t publish bogus copies of the Standard Don’t publish the source publicly...etc. https://github.com/mpi-forum/mpi-issues/wiki

11 Branch scheme 3.x branch 4.x branch MPI 4.0MPI 4.1 MPI 3.2 Git tags MPI 3.0MPI 3.1 https://github.com/mpi-forum/mpi-issues/wiki/Branch-Management

12 Errata Workflow Authors make a pull request on the appropriate branch with: Addition(s) to errata document (if there is one) Corresponding change(s) in main document When new version of MPI standard document released, errata document is cleared out

13 Errata Workflow (2) 3.x branch MPI 3.2 Git tags MPI 3.0MPI 3.1 Pull request: Clarify MPI_CANCEL for send requests (errata)

14 Create a new issue on the main repository (not WG) Create a new pull request from WG or user repository Target desired branch (3.x, 4.x, etc.) Reference Issue in pull request description Get pull request reviewed by appropriate chapter committee(s) before first vote After passing votes, Editor clicks “merge” button (hopefully) https://github.com/mpi-forum/mpi-issues/wiki/Working-Group-Guidelines Proposal Workflow

15 Proposal Workflow: current branch 3.x branch MPI 3.0MPI 3.1MPI 3.2 Pull request (for 3.2): MPI_TYPE_GET_EXTENT is defined via deprecated features

16 Proposal Workflow: next branch 3.x branch 4.x branch MPI 3.0MPI 3.1 Pull request: Fault Tolerance (for MPI-4) Branch does not exist yet Where to base the pull request?

17 Proposal Workflow: next branch 3.x branch 4.x branch MPI 3.0MPI 3.1 Pull request: Fault Tolerance (for MPI-4) Branch does not exist yet Until 4.x branch exists, base it against 3.x branch

18 Proposal Workflow: next branch 3.x branch 4.x branch MPI 3.0MPI 3.1 Pull request: Fault Tolerance (for MPI-4) When 4.x branch is created, rebase the pull request to 4.x branch

19 Proposal Workflow: current branch, when next branch already exists 3.x branch 4.x branch MPI 3.0MPI 3.1 MPI 3.2 Pull request: Datatype support functionality (for MPI-3.2) Merge down to 4.x branch when PR merged to 3.x branch

20 Working Group workflow: option 1 mpi-forum Github organization mpi-standard Git repo mpiwg-ft Github organization mpi-standard Git repo Pull Request mpi-3.x branch mpi-3.x branch ticket branch Sync from Forum to WG

21 Working Group workflow: option 2 mpi-forum Github organization mpi-standard Git repo mpiwg-tools Github organization mpi-standard Git repo Pull Request integration branch ticket branch mpi-3.x branch mpi-3.x branch Sync from Forum to WG

22 Preserved SVN history for MPI-3.0 / MPI-3.1 Did not preserve SVN commit history for prior versions -- just saved the final state of each document Tickets will be moved manually (by authors) from Trac Use this opportunity to purge old tickets that are not active Trac will remain available in read-only state for historical reference Other Notes

23 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request mpi-forum / mpi-issues repo mpi-forum / mpi-standard repo Public issue

24 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request mpi-forum / mpi-standard repo jsquyres / mpi-standard repo Fork

25 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request jsquyres / mpi-standard repo mpi-standard repo Clone

26 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request mpi-standard repo mpi-3.x branch my-changes branch

27 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request mpi-standard repo mpi-3.x branch my-changes branch

28 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request jsquyres / mpi-standard repo mpi-standard repo Push my-changes branch

29 Demonstration: Simple pull request High level steps for a pull request: 1.Create an mpi-forum/mpi-issues issue 2.Fork the mpi-forum/mpi-standard repo (once) 3.Clone your repo to your work machine (once) 4.Make a branch in your clone 5.Make and commit your edits to the branch 6.Push your branch to your GitHub fork 7.Create the pull request mpi-forum / mpi-standard repo jsquyres / mpi-standard repo Pull request my-changes branch mpi-3.x branch

30 Demonstration


Download ppt "GitHub and the MPI Forum: The Short Version December 9, 2015 San Jose, CA."

Similar presentations


Ads by Google