diff --git a/.travis.yml b/.travis.yml index 0f195395..f96b4db0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,8 +24,8 @@ before_install: script: - if [ -n "DANGER_GITHUB_API_TOKEN" ]; then echo {} > ./.babelrc && npx danger; fi - ng lint - - ng test --single-run - - ng build -prod + - ng test --single-run --code-coverage + - ng build --prod - ng e2e before_deploy: @@ -37,4 +37,7 @@ before_deploy: deploy: provider: azure_web_apps verbose: true - skip_cleanup: true \ No newline at end of file + skip_cleanup: true + +after_success: + - bash <(curl -s https://codecov.io/bash) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..53468df7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,173 @@ +# Contributing to RxJS Docs + +[Read and abide by the Code of Conduct](CODE_OF_CONDUCT.md)! Even if you don't read it, +it still applies to you. Ignorance is not an exemption. + +Contents + + + + +- [Submitting a Pull Request (PR)](#submitting-a-pull-request-pr) + - [After your pull request is merged](#after-your-pull-request-is-merged) +- [Commit Message Guidelines](#commit-message-guidelines) + - [Commit Message Format](#commit-message-format) + - [Revert](#revert) + - [Type](#type) + - [Scope](#scope) + - [Subject](#subject) + - [Body](#body) + - [Footer](#footer) + + + +(This document is a work and progress and is subject to change) + +## Building/Testing + +The build and test structure is fairly primitive at the moment. There are various npm scripts that can be run: + +- start: runs the dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. +- test: runs tests with `jasmine`, must have built prior to running. +- build: build artifacts will be stored in the `dist/` directory +- build-prod: builds for production using the `--prod` flag +- commit: runs git commit wizard for passing rxjs-github-bot message validator + +## Submitting a Pull Request (PR) +Before you submit your Pull Request (PR) consider the following guidelines: + +* Search [GitHub](https://github.com/ReactiveX/rxjs-docs/pulls) for an open or closed PR + that relates to your submission. You don't want to duplicate effort. +* Make your changes in a new git branch: + + ```shell + git checkout -b my-fix-branch master + ``` + +* Create your patch, following [code style guidelines](#coding-style-guidelines), and **including appropriate test cases**. +* Run the full test suite and ensure that all tests pass. +* Run the micro and macro performance tests against your feature branch and compare against master + to ensure performance wasn't changed for the worse. +* Commit your changes using a descriptive commit message that follows our + [commit message guidelines](#commit-message-guidelines). Adherence to these conventions + is necessary because release notes are automatically generated from these messages. + + ```shell + git add . + npm run commit + ``` + Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. + +* Push your branch to GitHub: + + ```shell + git push origin my-fix-branch + ``` + +* In GitHub, send a pull request to `rxjs-docs:master`. +* If we suggest changes then: + * Make the required updates. + * Re-run the test suites to ensure tests are still passing. + * Re-run performance tests to make sure your changes didn't hurt performance. + * Rebase your branch and force push to your GitHub repository (this will update your Pull Request): + + ```shell + git rebase master -i + git push -f + ``` + +That's it! Thank you for your contribution! + + +### After your pull request is merged + +After your pull request is merged, you can safely delete your branch and pull the changes +from the main (upstream) repository: + +* Delete the remote branch on GitHub either through the GitHub web UI or your local shell as follows: + + ```shell + git push origin --delete my-fix-branch + ``` + +* Check out the master branch: + + ```shell + git checkout master -f + ``` + +* Delete the local branch: + + ```shell + git branch -D my-fix-branch + ``` + +* Update your master with the latest upstream version: + + ```shell + git pull --ff upstream master + ``` + + +- [Submitting a Pull Request (PR)](#submitting-a-pull-request-pr) +## Commit Message Guidelines + +We have very precise rules over how our git commit messages can be formatted. This leads to **more +readable messages** that are easy to follow when looking through the **project history**. But also, +we use the git commit messages to **generate the rxjs-docs change log**. Helper script `npm run commit` +provides command line based wizard to format commit message easily. + +### Commit Message Format +Each commit message consists of a **header**, a **body** and a **footer**. The header has a special +format that includes a **type**, a **scope** and a **subject**: + +``` +(): + + + +