Skip to content
This repository has been archived by the owner on Dec 15, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1429 from atom/aw/contributing
Browse files Browse the repository at this point in the history
Development environment setup in contributing guide
  • Loading branch information
smashwilson authored May 1, 2018
2 parents e57e33f + 5cf5c89 commit 5bc7c46
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ In particular, the GitHub package is under constant development by a portion of

Feel free to [open an issue](https://github.com/atom/github/issues) if you want to discuss anything with us. If you're curious what we're working on and will be working on in the near future, you can take a look at [our short-term roadmap](https://github.com/atom/github/projects/8).

## Technical Contribution Tips
## Technical contribution tips

### Updating the GraphQL Schema

Expand All @@ -23,6 +23,7 @@ Please check in the generated `graphql/schema.graphql`.
In addition, if you make any changes to any of the GraphQL queries or fragments (inside the `graphql` tagged template literals), you will need to run `npm run relay` to regenerate the statically-generated query files.

## Testing

To run tests, open the command palette and select "Run Package Specs". This will open a new window running "GitHub Package Tests". If the window stays blank for more than a few seconds, open DevTools and check for error messages.

To re-run tests, you can refresh that window by pressing `Cmd + R` in DevTools.
Expand Down Expand Up @@ -63,3 +64,24 @@ await assert.async.equal(value, 1)
This transpiles into a form similar to the one above, so is asynchronous, but if the test fails, we'll still see a message that contains 'expected 0 to equal 1'.

When writing tests that depend on values that get set asynchronously, prefer `assert.async.x(...)` over other forms.

## Living on the edge

If you're working on the GitHub package day-to-day, it's useful to have a development environment configured to use the latest and greatest source.

1. [Build Atom from master](https://github.com/atom/atom/tree/master/docs/build-instructions) frequently if you can. This will help us notice any changes in Atom core that cause regressions.
2. Install the GitHub package from its git URL:

```sh
$ apm install atom/github
```

When you run Atom in non-dev-mode (`atom .`) you'll be running the latest _merged_ code in this repository. If this isn't stable enough for day-to-day work, then we have bugs to fix :wink:
3. Link your GitHub package source in dev mode:

```sh
# In the root directory of your atom/github clone
$ apm link --dev .
```

When you run Atom in dev mode (`atom -d .`) you'll be running your local changes. This is useful for reproducing bugs or trying out new changes live before merging them.

0 comments on commit 5bc7c46

Please sign in to comment.