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

Commit 5bc7c46

Browse files
authored
Merge pull request #1429 from atom/aw/contributing
Development environment setup in contributing guide
2 parents e57e33f + 5cf5c89 commit 5bc7c46

1 file changed

Lines changed: 23 additions & 1 deletion

File tree

CONTRIBUTING.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ In particular, the GitHub package is under constant development by a portion of
66

77
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).
88

9-
## Technical Contribution Tips
9+
## Technical contribution tips
1010

1111
### Updating the GraphQL Schema
1212

@@ -23,6 +23,7 @@ Please check in the generated `graphql/schema.graphql`.
2323
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.
2424

2525
## Testing
26+
2627
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.
2728

2829
To re-run tests, you can refresh that window by pressing `Cmd + R` in DevTools.
@@ -63,3 +64,24 @@ await assert.async.equal(value, 1)
6364
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'.
6465

6566
When writing tests that depend on values that get set asynchronously, prefer `assert.async.x(...)` over other forms.
67+
68+
## Living on the edge
69+
70+
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.
71+
72+
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.
73+
2. Install the GitHub package from its git URL:
74+
75+
```sh
76+
$ apm install atom/github
77+
```
78+
79+
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:
80+
3. Link your GitHub package source in dev mode:
81+
82+
```sh
83+
# In the root directory of your atom/github clone
84+
$ apm link --dev .
85+
```
86+
87+
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 commit comments

Comments
 (0)