Skip to content

Commit

Permalink
Merge pull request #138 from beeminder/contributing-docs
Browse files Browse the repository at this point in the history
elaborate on contributing guidelines
  • Loading branch information
andrewpbrett authored Aug 15, 2020
2 parents 03778a1 + 908609a commit c54dc7f
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 15 deletions.
31 changes: 31 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
## Contributing

We love getting contributions to the app, in any form. If you're interested in committing code, read on. For bug reports, feel free to look through the existing [list of issues](https://github.com/beeminder/BeeSwift/issues) and add your own if it's not already there, using the BUG template. Feature requests can also go there using the RFE template. For more general questions or to discuss ideas for features try the [Beeminder Forum](https://forum.beeminder.com).

#### Legal Schmegal

Before contributing code, please read and sign [beeminder.com/cla](https://beeminder.com/cla).

#### Set up

See [Getting Started](GETTING_STARTED.md) for instructions on how to get the app running locally on XCode.

#### Development flow

We follow the [GitHub flow](https://guides.github.com/introduction/flow/) conventions for development.

We recommend [forking](https://guides.github.com/activities/forking/) to your own repository as the first step. Add your repository as a remote named `origin` and add this repository (beeminder/BeeSwift) as a remote named `upstream`.

To start work on a new feature/bug fix, make a branch off of master.

```
git checkout -b branch-name-here --no-track upstream/master
```

Before submitting a pull request, rebase your work off the current master branch.

We have a (currently very limited) suite of tests set up on [Semaphore CI](https://andrewpbrett.semaphoreci.com/projects/BeeSwift). Pull requests that add to the test suite are very welcome and encouraged! Submitting a pull request from your fork will trigger a build on Semaphore. If the pull request looks good and everything is green on Semaphore, the PR will be merged after a review.

#### Deployment

We have [Fastlane](https://fastlane.tools) set up to manage uploading builds to TestFlight and the App Store and tagging commits as appropriate.
21 changes: 21 additions & 0 deletions GETTING_STARTED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
## Getting Started

This is a guide to getting the Beeminder app running in your Xcode Simulator/test device.

#### Installation/Setup

The file BeeSwift/Config.swift is ignored by git since it has sensitive info like keys in it. Copy BeeSwift/Config.sample.swift to BeeSwift/Config.swift and uncomment the struct it contains so that the project can reference the struct.

There's a Run Script build phase that references BeeSwift/Sentry.sh, which is also ignored by git since it has an auth token. Either create an empty shell script at that location (preferable) or delete the Run Script - Sentry build phase (if you do delete it, make sure not to check in the modified project.pbxproj file).

The project should build at this point and run in the simulator.

If it's still not building, or if you find other noteworthy dependencies not listed here, please create a new issue! Or a pull request with a modified version of this file.

#### Testing

Since the Beeminder backend/web application isn't open source (yet), you'll need to ask us to be added to the private repo if you want to be able to point the iOS app at localhost:3000. You can also create a test account/goal on beeminder.com to test against.

#### Contributing

See [Contributing](CONTRIBUTING.md) for more.
19 changes: 4 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,21 +46,10 @@ Using Apple Health as a source, data can be syncronized from the Apple Health ap

[![Download on the App Store](https://linkmaker.itunes.apple.com/en-us/badge-lrg.svg?releaseDate=2012-08-30&kind=iossoftware&bubble=ios_apps)](https://apps.apple.com/us/app/beeminder/id551869729?mt=8)

## Development

### Installation/Setup
The file `BeeSwift/Config.swift` is ignored by git since it has sensitive info like keys in it. Copy `BeeSwift/Config.sample.swift` to `BeeSwift/Config.swift` and uncomment the struct it contains so that the project can reference the struct.

There's a Run Script build phase that references `BeeSwift/Sentry.sh`, which is also ignored by git since it has an auth token. Either create an empty shell script at that location (preferable) or delete the `Run Script - Sentry` build phase (if you do delete it, make sure not to check in the modified `project.pbxproj` file).

The project should build at this point and run in the simulator.
## Bug reports and feature requests

If it's still not building, or if you find other noteworthy dependencies not listed here, please create a new issue! Or a pull request with a modified Readme.
For bug reports, feel free to look through the existing [list of issues](https://github.com/beeminder/BeeSwift/issues) and add your own if it's not already there, using the BUG template. Feature requests can also go there using the RFE template. For more general questions or to discuss ideas for features try the [Beeminder Forum](https://forum.beeminder.com).

### Testing

Since the Beeminder backend/web application isn't open source (yet), you'll need to ask us to be added to the private repo if you want to be able to point the iOS app at `localhost:3000`. You can also create a test account/goal on beeminder.com to test against.

### Contributing
## Development

Read and sign [beeminder.com/cla](https://beeminder.com/cla). Then make a branch off of master and send a pull request!
See [Getting Started](GETTING_STARTED.md) and [Contributing](CONTRIBUTING.md) for details.

0 comments on commit c54dc7f

Please sign in to comment.