-
Notifications
You must be signed in to change notification settings - Fork 2
docs: add Releasing and Contributing #139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| # Contributing to Raygun4ReactNative | ||
|
|
||
| ## Project and library organisation | ||
|
|
||
| Building the project requires [Node.js](https://nodejs.org). | ||
|
|
||
| The project should work on all LTS Node versions. | ||
|
|
||
| All required React Native packages will be installed through `npm`. | ||
|
|
||
| - The `raygun4reactnative` package is in the `sdk` folder. | ||
| - The `demo` folder contains an example app based on React Native. | ||
| - The `ExpoDemo` folder contains an example app based on Expo. | ||
|
|
||
| ## Building and running | ||
|
|
||
| The recommended IDE for working on this project is Visual Studio Code. | ||
|
|
||
| Setup instructions can be found in the `sdk` folder in the `README.md` file. | ||
|
|
||
| ### Tests | ||
|
|
||
| To run tests, in the `sdk` folder run `npm run test` or run all tests from VSCode. | ||
|
|
||
| ### Code analysis | ||
|
|
||
| To check the code, in the `sdk` folder run `npm run eslint`. | ||
|
|
||
| ### Formatting | ||
|
|
||
| To format the code, in the `sdk` folder run `npm run prettier`. | ||
|
|
||
| ### Running examples | ||
|
|
||
| Instructions on how to run the examples can be found in their respective folders. | ||
|
|
||
| ## How to contribute? | ||
|
|
||
| This section is intended for external contributors not part of the Raygun team. | ||
|
|
||
| Before you undertake any work, please create a ticket with your proposal, | ||
| so that it can be coordinated with what we're doing. | ||
|
|
||
| If you're interested in contributing on a regular basis, | ||
| please get in touch with the Raygun team. | ||
|
|
||
| ### Fork the repository | ||
|
|
||
| Please fork the main repository from https://github.com/MindscapeHQ/raygun4reactnative | ||
| into your own GitHub account. | ||
|
|
||
| ### Create a new branch | ||
|
|
||
| Create a local branch off `master` in your fork, | ||
| named so that it explains the work in the branch. | ||
|
|
||
| Do not submit a PR directly from your `master` branch. | ||
|
|
||
| ### Open a pull request | ||
|
|
||
| Submit a pull request against the main repositories' `master` branch. | ||
|
|
||
| Fill the PR template and give it a title that follows the [Conventional Commits guidelines](https://www.conventionalcommits.org/en/v1.0.0/). | ||
|
|
||
| ### Wait for a review | ||
|
|
||
| Wait for a review by the Raygun team. | ||
| The team will leave you feedback and might ask you to do changes in your code. | ||
|
|
||
| Once the PR is approved, the team will merge it. | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,86 @@ | ||
| # Releasing Raygun4ReactNative | ||
|
|
||
| Raygun4ReactNative is published on npmjs.com as [`raygun4reactnative`](https://www.npmjs.com/package/raygun4reactnative). | ||
| ## Semantic versioning | ||
|
|
||
| This package follows semantic versioning. | ||
|
|
||
| Given a version number MAJOR.MINOR.PATCH (x.y.z), increment the: | ||
|
|
||
| - MAJOR version when you make incompatible changes | ||
| - MINOR version when you add functionality in a backward compatible manner | ||
| - PATCH version when you make backward compatible bug fixes | ||
|
|
||
| To learn more about semantic versioning check: https://semver.org/ | ||
|
|
||
| ## Preparing for release | ||
|
|
||
| ### Release branch | ||
|
|
||
| Create a new branch named `release/x.y.z` | ||
| where `x.y.z` is the Major, Minor and Patch release numbers. | ||
|
|
||
| ### Update version | ||
|
|
||
| Update the `version` in the `src/package.json` file. | ||
|
|
||
| ### Run npm install | ||
|
|
||
| Run `npm install` in the `sdk` to update the version in the `package-lock.json`. | ||
|
|
||
| ### Update CHANGELOG.md | ||
|
|
||
| Add a new entry in the `CHANGELOG.md` file. | ||
|
|
||
| Obtain a list of changes using the following git command: | ||
|
|
||
| ``` | ||
| git log --pretty=format:"- %s (%as)" | ||
| ``` | ||
|
|
||
| ### Run publish dry-run | ||
|
|
||
| Run a publish dry-run in the `sdk` to ensure no errors appear: | ||
|
|
||
| ``` | ||
| npm publish --dry-run | ||
| ``` | ||
|
|
||
| ### Commit and open a PR | ||
|
|
||
| Commit all the changes into a commit with the message `chore: Release x.y.z` | ||
| where `x.y.z` is the Major, Minor and Patch release numbers. | ||
|
|
||
| Then push the branch and open a new PR, ask the team to review it. | ||
|
|
||
| ## Publishing | ||
|
|
||
| ### PR approval | ||
|
|
||
| Once the PR has been approved, you can publish the provider. | ||
|
|
||
| ### Publish to npmjs.com | ||
|
|
||
| Run the publish command without `dry-run`. | ||
| You will need an account in npmjs.com to publish, | ||
| as well as being part of the [Raygun organization](https://www.npmjs.com/~raygunowner). | ||
|
|
||
| ``` | ||
| npm publish | ||
| ``` | ||
|
|
||
| Now the package is available for customers. | ||
|
|
||
| ### Merge PR to master | ||
|
|
||
| With the PR approved and the package published, | ||
| squash and merge the PR into `master`. | ||
|
|
||
| ### Tag and create Github Release | ||
|
|
||
| Go to https://github.com/MindscapeHQ/raygun4reactnative/releases and create a new Release. | ||
|
|
||
| GitHub will create a tag for you, you don't need to create the tag manually. | ||
|
|
||
| You can also generate the release notes automatically. | ||
|
|
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.