69
Prelude

Repo Madness: Taming the Open-Source Repository

Embed Size (px)

Citation preview

Page 1: Repo Madness: Taming the Open-Source Repository

Prelude

Page 2: Repo Madness: Taming the Open-Source Repository
Page 3: Repo Madness: Taming the Open-Source Repository

- (void)testLogInSucceedsWithUsernameAndPassword { NSString *username = @"Jeff", *password = @"foo"; [_usernameField setText:username]; [_passwordField setText:password];

[_submitButton tap];

SLAssertTrueWithTimeout([_loginSpinner isInvalidOrInvisible], 3, @"Log-in was not successful.");

NSString *successMessage = [NSString stringWithFormat:@"Hello, %@!", username]; SLAssertTrue([[SLElement elementWithAccessibilityLabel:successMessage] isValid], @"Log-in did not succeed.");}

Page 4: Repo Madness: Taming the Open-Source Repository
Page 5: Repo Madness: Taming the Open-Source Repository

—Objective-C tests—No private APIs—No dependencies—Fully-tested

Page 6: Repo Madness: Taming the Open-Source Repository

AFNetworking lets you communicate with other machines so you can download images.

Page 7: Repo Madness: Taming the Open-Source Repository

Subliminal lets you manipulate your UI and make assertions so you can ???.

Page 8: Repo Madness: Taming the Open-Source Repository

—491 stars—45 watchers—13 contributors

Page 9: Repo Madness: Taming the Open-Source Repository

REPO MADNESS

Page 10: Repo Madness: Taming the Open-Source Repository

http://nshipster.com/stewardship/

Earlier this year, Mattt Thompson wrote an essay on open-source stewardship:on launching an open-source project with your eyes open to the responsibilitiesthat lie ahead.

Page 11: Repo Madness: Taming the Open-Source Repository

It's not enough to dump a pile of source code somewhere and declare it "open source".— Mattt Thompson

Page 12: Repo Madness: Taming the Open-Source Repository

✓ README✓ LICENSE✓ Cocoapods

Page 13: Repo Madness: Taming the Open-Source Repository

And then?

Page 14: Repo Madness: Taming the Open-Source Repository
Page 15: Repo Madness: Taming the Open-Source Repository
Page 16: Repo Madness: Taming the Open-Source Repository
Page 17: Repo Madness: Taming the Open-Source Repository
Page 18: Repo Madness: Taming the Open-Source Repository
Page 19: Repo Madness: Taming the Open-Source Repository

Hold on.

Page 20: Repo Madness: Taming the Open-Source Repository
Page 21: Repo Madness: Taming the Open-Source Repository
Page 22: Repo Madness: Taming the Open-Source Repository
Page 23: Repo Madness: Taming the Open-Source Repository

Braces keep existing growth on track.

Page 24: Repo Madness: Taming the Open-Source Repository

Braces support new growth.

Page 25: Repo Madness: Taming the Open-Source Repository
Page 26: Repo Madness: Taming the Open-Source Repository
Page 27: Repo Madness: Taming the Open-Source Repository
Page 28: Repo Madness: Taming the Open-Source Repository

Braces for projects.

Page 29: Repo Madness: Taming the Open-Source Repository

Braces support growth in...

—documentation—user support—development

Page 30: Repo Madness: Taming the Open-Source Repository

Braces for documentation.

Page 31: Repo Madness: Taming the Open-Source Repository
Page 32: Repo Madness: Taming the Open-Source Repository
Page 33: Repo Madness: Taming the Open-Source Repository
Page 34: Repo Madness: Taming the Open-Source Repository
Page 35: Repo Madness: Taming the Open-Source Repository
Page 36: Repo Madness: Taming the Open-Source Repository

READMEREAD FIRST

Page 37: Repo Madness: Taming the Open-Source Repository
Page 38: Repo Madness: Taming the Open-Source Repository
Page 39: Repo Madness: Taming the Open-Source Repository
Page 40: Repo Madness: Taming the Open-Source Repository
Page 41: Repo Madness: Taming the Open-Source Repository
Page 42: Repo Madness: Taming the Open-Source Repository

Braces for user support.

Page 43: Repo Madness: Taming the Open-Source Repository
Page 44: Repo Madness: Taming the Open-Source Repository
Page 45: Repo Madness: Taming the Open-Source Repository
Page 46: Repo Madness: Taming the Open-Source Repository
Page 47: Repo Madness: Taming the Open-Source Repository
Page 48: Repo Madness: Taming the Open-Source Repository

—If you need help, use Stack Overflow. (Tag 'subliminal'.)

—If you'd like to ask a general question, use Stack Overflow.

—If you've found a bug, open an issue.—If you have a feature request, open an issue.

Page 49: Repo Madness: Taming the Open-Source Repository

Stack Overflow is the best place for questions.

Page 50: Repo Madness: Taming the Open-Source Repository
Page 51: Repo Madness: Taming the Open-Source Repository
Page 52: Repo Madness: Taming the Open-Source Repository
Page 53: Repo Madness: Taming the Open-Source Repository

Get better issues with contributing guidelines.

Page 54: Repo Madness: Taming the Open-Source Repository
Page 55: Repo Madness: Taming the Open-Source Repository
Page 56: Repo Madness: Taming the Open-Source Repository

Braces for development.

Page 57: Repo Madness: Taming the Open-Source Repository

Many handslighten the load.

Page 58: Repo Madness: Taming the Open-Source Repository

In the contributing guidelines:

—How to set up development—How to make changes—How to document changes—How to test changes

Page 59: Repo Madness: Taming the Open-Source Repository

http://nshipster.com/unit-testing/

Page 60: Repo Madness: Taming the Open-Source Repository

Automated testing: as easy as

language: objective-cxcode_project: MyNewProject.xcodeprojxcode_scheme: MyNewProjectTests

Page 61: Repo Madness: Taming the Open-Source Repository
Page 62: Repo Madness: Taming the Open-Source Repository

Feature requests are

too late.

Page 63: Repo Madness: Taming the Open-Source Repository

Separate problemfrom solution.

Page 64: Repo Madness: Taming the Open-Source Repository

Optimize for issues closed,not PRs merged.

Page 65: Repo Madness: Taming the Open-Source Repository

Communicate.

Page 66: Repo Madness: Taming the Open-Source Repository

Say thanks.

Page 67: Repo Madness: Taming the Open-Source Repository
Page 68: Repo Madness: Taming the Open-Source Repository

Links

—http://nshipster.com/stewardship/—https://github.com/blog/1828-wikis-now-with-

more-love—http://stackoverflow.com/help/privileges/create-

tags—https://github.com/blog/1184-contributing-

guidelines—https://github.com/inkling/Subliminal/blob/

master/CONTRIBUTING.md

Page 69: Repo Madness: Taming the Open-Source Repository

Links con't.

—http://docs.travis-ci.com/user/languages/objective-c/

—https://github.com/inkling/Subliminal/wiki/Continuous-Integration

—https://gitter.im/