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

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

description

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 to Wesley or Jeff with your

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

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

GitHub and the MPI Forum:The Short Version

December 9, 2015San Jose, CA

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

RTFW (Read the Fine Wiki)Getting started with GitGetting started with GitHubWorkflows

Filing an issue (“ticket”)Filing a pull request

Migrating from SVN / Trac

https://github.com/mpi-forum/mpi-issues/wiki

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

How do I get access?Read and agree to the terms (on the wiki)

Don’t post unofficial copies, don’t post the source publiclySet up a GitHub account

Enable 2-factor authentication on your GitHub account!All the cool kids are doing it

Send an email to Wesley ([email protected]) or Jeff ([email protected]) with your username

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

General MPI Forum GitHub schemeIssue#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)

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

Working Group workflows: general

mpi-forumGithub organization

Chapter authors, editors have write access to

private repos

mpi-standardGit repo[Private]

mpi-issuesGit repo[Public]

mpiwg-toolsGithub organization

Working group members have write access to

private repos

mpi-standardGit repo[Private]

Fork

jdinanuser

mpi-standardGit repo[Private]

Fork

Pull Request

Pull Request

tools-issuesGit repo[Public] Pull

Request

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

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)

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

RTFW (Read the Fine Wiki)https://github.com/mpi-forum/mpi-issues/wiki

Getting started with GitGetting started with GitHubWorkflows

Filing an issue (“ticket”)Filing a pull request

Migrating from SVN / Trac

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

Git / GitHub terminologyGit: Distributed version control system

Subversion has a single “upstream”Git can have multiple “upstreams”

GitHub(.com): hosting serviceRepositories: Git repositories and associated toolsOrganizations: Groups of GitHub repositories and users

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

General MPI Forum GitHub schemeOrganization:

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-issuesmpi-forum/mpi-standard

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

Who can access the source repo?Anyone on the Forum

Just like previous access to SVNNew: Anyone who agrees to our rules

Don’t publish bogus copies of the StandardDon’t publish the source publicly...etc.https://github.com/mpi-forum/mpi-issues/wiki

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

Branch scheme

3.x branch

4.x branch

MPI 4.0 MPI 4.1

MPI 3.2

Git tags

MPI 3.0 MPI 3.1

https://github.com/mpi-forum/mpi-issues/wiki/Branch-Management

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

Errata WorkflowAuthors 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

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

Errata Workflow (2)

3.x branch

MPI 3.2

Git tags

MPI 3.0 MPI 3.1

Pull request:Clarify MPI_CANCEL for send requests (errata)

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

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

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

Proposal Workflow: current branch

3.x branch

MPI 3.0 MPI 3.1 MPI 3.2

Pull request (for 3.2):MPI_TYPE_GET_EXTENT is defined via deprecated features

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

Proposal Workflow: next branch

3.x branch

4.x branch

MPI 3.0 MPI 3.1

Pull request:Fault Tolerance (for MPI-4)

Branch does not exist yet

Where to base the pull request?

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

Proposal Workflow: next branch

3.x branch

4.x branch

MPI 3.0 MPI 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

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

Proposal Workflow: next branch

3.x branch

4.x branch

MPI 3.0 MPI 3.1

Pull request:Fault Tolerance (for MPI-4)

When 4.x branch is created,rebase the pull request to 4.x branch

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

Proposal Workflow: current branch, when next branch already exists

3.x branch

4.x branch

MPI 3.0 MPI 3.1 MPI 3.2

Pull request:Datatype support functionality (for MPI-3.2)

Merge down to 4.x branchwhen PR merged to 3.x branch

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

Working Group workflow: option 1

mpi-forumGithub organization

mpi-standardGit repo

mpiwg-ftGithub organization

mpi-standardGit repo

Pull Request

mpi-3.xbranch

mpi-3.xbranch

ticketbranch

Sync from Forum to WG

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

Working Group workflow: option 2

mpi-forumGithub organization

mpi-standardGit repo

mpiwg-toolsGithub organization

mpi-standardGit repo

Pull Request

integrationbranch

ticketbranch

mpi-3.xbranch

mpi-3.x branch

Sync from Forum to WG

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

Preserved SVN history for MPI-3.0 / MPI-3.1Did not preserve SVN commit history for prior versions -- just saved the

final state of each documentTickets will be moved manually (by authors) from Trac

Use this opportunity to purge old tickets that are not activeTrac will remain available in read-only state for historical

reference

Other Notes

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once) 3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

mpi-forum / mpi-issues repo

mpi-forum / mpi-standard repo

Public issue

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once)3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

mpi-forum / mpi-standard repo

jsquyres / mpi-standard repo

Fork

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once)3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

jsquyres / mpi-standard repo

mpi-standard repo

Clone

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once)3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

mpi-standard repo

mpi

-3.x

bra

nch

my-

chan

ges

bran

ch

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once)3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

mpi-standard repo

mpi

-3.x

bra

nch

my-

chan

ges

bran

ch

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once)3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

jsquyres / mpi-standard repo

mpi-standard repo

Push

my-

chan

ges

bran

ch

my-

chan

ges

bran

ch

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

Demonstration: Simple pull requestHigh level steps for a pull request:

1. Create an mpi-forum/mpi-issues issue2. Fork the mpi-forum/mpi-standard repo

(once)3. Clone your repo to your work machine

(once)4. Make a branch in your clone5. Make and commit your edits to the

branch6. Push your branch to your GitHub fork7. Create the pull request

mpi-forum / mpi-standard repo

jsquyres / mpi-standard repo

Pull request

my-

chan

ges

bran

ch

mpi

-3.x

bra

nch

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

Demonstration