diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index dd84ea782..6867cf8d2 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,38 +1,38 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - -**Describe the bug** -A clear and concise description of what the bug is. - -**To Reproduce** -Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected behavior** -A clear and concise description of what you expected to happen. - -**Screenshots** -If applicable, add screenshots to help explain your problem. - -**Desktop (please complete the following information):** - - OS: [e.g. iOS] - - Browser [e.g. chrome, safari] - - Version [e.g. 22] - -**Smartphone (please complete the following information):** - - Device: [e.g. iPhone6] - - OS: [e.g. iOS8.1] - - Browser [e.g. stock browser, safari] - - Version [e.g. 22] - -**Additional context** -Add any other context about the problem here. +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index bbcbbe7d6..72718d5aa 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,20 +1,20 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] - -**Describe the solution you'd like** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/create-pr.yml b/.github/workflows/create-pr.yml index 87f82162a..16848c830 100644 --- a/.github/workflows/create-pr.yml +++ b/.github/workflows/create-pr.yml @@ -1,21 +1,21 @@ -name: RELEASE - -on: - push: - branches: [develop] - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - node-version: [15.x] - steps: - - uses: actions/checkout@v2 - - name: 🔀 - uses: BaharaJr/create-pr@0.0.1 - with: - GITHUB_TOKEN: ${{secrets.TOKEN}} - DESTINATION_BRANCH: master - KEYWORD: release +name: RELEASE + +on: + push: + branches: [develop] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [15.x] + steps: + - uses: actions/checkout@v2 + - name: 🔀 + uses: BaharaJr/create-pr@0.0.1 + with: + GITHUB_TOKEN: ${{secrets.TOKEN}} + DESTINATION_BRANCH: master + KEYWORD: release diff --git a/.vscode/extensions.json b/.vscode/extensions.json index d1987c7ba..70e6958a7 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,13 +1,13 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp - - // List of extensions which should be recommended for users of this workspace. - "recommendations": [ - - ], - // List of extensions recommended by VS Code that should not be recommended for users of this workspace. - "unwantedRecommendations": [ - - ] +{ + // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. + // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp + + // List of extensions which should be recommended for users of this workspace. + "recommendations": [ + + ], + // List of extensions recommended by VS Code that should not be recommended for users of this workspace. + "unwantedRecommendations": [ + + ] } \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 83ea16a9c..75c364dcc 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,71 +1,71 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering a safe and welcoming environment, we as -the iCare team pledge to make participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity, gender expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -- Use welcoming and inclusive language -- Respect each other -- Provide and gracefully accept constructive criticism -- Show empathy towards other community members - -Examples of unacceptable behavior by participants include: - -- Trolling, insulting/derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or electronic - address, without explicit permission -- The use of sexualized language or imagery -- Unwelcome sexual attention or advances -- Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -iCare team are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -iCare team have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, and to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies to all iCare communication channels - online or in person, -and it also applies when an individual is representing the project or its community in -public spaces. Examples of representing a project or community include using an official -project e-mail address, posting via an official social media account, or acting -as an appointed representative at an online or offline event. Representation of -a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the iCare team at conduct@icare.io. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The iCare team -will maintain confidentiality with regard to the reporter of an incident. -Enforcement may result in an indefinite ban from all official iCare communication -channels, or other actions as deemed appropriate by the iCare team. - -iCare maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering a safe and welcoming environment, we as +the iCare team pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity, gender expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +- Use welcoming and inclusive language +- Respect each other +- Provide and gracefully accept constructive criticism +- Show empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- The use of sexualized language or imagery +- Unwelcome sexual attention or advances +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +iCare team are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +iCare team have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, and to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies to all iCare communication channels - online or in person, +and it also applies when an individual is representing the project or its community in +public spaces. Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the iCare team at conduct@icare.io. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The iCare team +will maintain confidentiality with regard to the reporter of an incident. +Enforcement may result in an indefinite ban from all official iCare communication +channels, or other actions as deemed appropriate by the iCare team. + +iCare maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e45d8e73b..22667ecaf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,389 +1,389 @@ -# Contributing to iCARE - -We would love for you to contribute to iCARE and help make it even better than it is today! -As a contributor, here are the guidelines we would like you to follow: - -- [Code of Conduct](#coc) -- [Question or Problem?](#question) -- [Issues and Bugs](#issue) -- [Feature Requests](#feature) -- [Submission Guidelines](#submit) -- [Coding Rules](#rules) -- [Commit Message Guidelines](#commit) -- [Signing the CLA](#cla) - -## Code of Conduct - -Help us keep iCARE open and inclusive. -Please read and follow our [Code of Conduct][coc]. - -## Got a Question or Problem? - -Do not open issues for general support questions as we want to keep GitHub issues for bug reports and feature requests. -Instead, we recommend using [Stack Overflow](https://stackoverflow.com/questions/tagged/iCARE) to ask support-related questions. When creating a new question on Stack Overflow, make sure to add the `iCARE` tag. - -Stack Overflow is a much better place to ask questions since: - -- there are thousands of people willing to help on Stack Overflow -- questions and answers stay available for public viewing so your question/answer might help someone else -- Stack Overflow's voting system assures that the best answers are prominently visible. - -To save your and our time, we will systematically close all issues that are requests for general support and redirect people to Stack Overflow. - -If you would like to chat about the question in real-time, you can reach out via [our Discord server][discord]. - -## Found a Bug? - -If you find a bug in the source code, you can help us by [submitting an issue](#submit-issue) to our [GitHub Repository][github]. -Even better, you can [submit a Pull Request](#submit-pr) with a fix. - -## Missing a Feature? - -You can _request_ a new feature by [submitting an issue](#submit-issue) to our GitHub Repository. -If you would like to _implement_ a new feature, please consider the size of the change in order to determine the right steps to proceed: - -- For a **Major Feature**, first open an issue and outline your proposal so that it can be discussed. - This process allows us to better coordinate our efforts, prevent duplication of work, and help you to craft the change so that it is successfully accepted into the project. - - **Note**: Adding a new topic to the documentation, or significantly re-writing a topic, counts as a major feature. - -- **Small Features** can be crafted and directly [submitted as a Pull Request](#submit-pr). - -## Submission Guidelines - -### Submitting an Issue - -Before you submit an issue, please search the issue tracker. An issue for your problem might already exist and the discussion might inform you of workarounds readily available. - -We want to fix all the issues as soon as possible, but before fixing a bug, we need to reproduce and confirm it. -In order to reproduce bugs, we require that you provide a minimal reproduction. -Having a minimal reproducible scenario gives us a wealth of important information without going back and forth to you with additional questions. - -A minimal reproduction allows us to quickly confirm a bug (or point out a coding problem) as well as confirm that we are fixing the right problem. - -We require a minimal reproduction to save maintainers' time and ultimately be able to fix more bugs. -Often, developers find coding problems themselves while preparing a minimal reproduction. -We understand that sometimes it might be hard to extract essential bits of code from a larger codebase, but we really need to isolate the problem before we can fix it. - -Unfortunately, we are not able to investigate / fix bugs without a minimal reproduction, so if we don't hear back from you, we are going to close an issue that doesn't have enough info to be reproduced. - -You can file new issues by selecting from our [new issue templates](https://github.com/icare/icare/issues/new/choose) and filling out the issue template. - -### Submitting a Pull Request (PR) - -Before you submit your Pull Request (PR) consider the following guidelines: - -1. Search [GitHub](https://github.com/icare/icare/pulls) for an open or closed PR that relates to your submission. - You don't want to duplicate existing efforts. - -2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. - Discussing the design upfront helps to ensure that we're ready to accept your work. - -3. Please sign our [Contributor License Agreement (CLA)](#cla) before sending PRs. - We cannot accept code without a signed CLA. - Make sure you author all contributed Git commits with email address associated with your CLA signature. - -4. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the icare/icare repo. - -5. In your forked repository, make your changes in a new git branch: - - ```shell - git checkout -b my-fix-branch main - ``` - -6. Create your patch, **including appropriate test cases**. - -7. Follow our [Coding Rules](#rules). - -8. Run the full iCARE test suite, as described in the [developer documentation][dev-doc], and ensure that all tests pass. - -9. Commit your changes using a descriptive commit message that follows our [commit message conventions](#commit). - Adherence to these conventions is necessary because release notes are automatically generated from these messages. - - ```shell - git commit --all - ``` - - Note: the optional commit `-a` command line option will automatically "add" and "rm" edited files. - -10. Push your branch to GitHub: - - ```shell - git push origin my-fix-branch - ``` - -11. In GitHub, send a pull request to `icare:main`. - -### Reviewing a Pull Request - -The iCARE team reserves the right not to accept pull requests from community members who haven't been good citizens of the community. Such behavior includes not following the [iCARE code of conduct](https://github.com/icare/code-of-conduct) and applies within or outside of iCARE managed channels. - -#### Addressing review feedback - -If we ask for changes via code reviews then: - -1. Make the required updates to the code. - -2. Re-run the iCARE test suites to ensure tests are still passing. - -3. Create a fixup commit and push to your GitHub repository (this will update your Pull Request): - - ```shell - git commit --all --fixup HEAD - git push - ``` - - For more info on working with fixup commits see [here](docs/FIXUP_COMMITS.md). - -That's it! Thank you for your contribution! - -##### Updating the commit message - -A reviewer might often suggest changes to a commit message (for example, to add more context for a change or adhere to our [commit message guidelines](#commit)). -In order to update the commit message of the last commit on your branch: - -1. Check out your branch: - - ```shell - git checkout my-fix-branch - ``` - -2. Amend the last commit and modify the commit message: - - ```shell - git commit --amend - ``` - -3. Push to your GitHub repository: - - ```shell - git push --force-with-lease - ``` - -> NOTE:
-> If you need to update the commit message of an earlier commit, you can use `git rebase` in interactive mode. -> See the [git docs](https://git-scm.com/docs/git-rebase#_interactive_mode) for more details. - -#### 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 main branch: - - ```shell - git checkout main -f - ``` - -- Delete the local branch: - - ```shell - git branch -D my-fix-branch - ``` - -- Update your local `main` with the latest upstream version: - - ```shell - git pull --ff upstream main - ``` - -## Coding Rules - -To ensure consistency throughout the source code, keep these rules in mind as you are working: - -- All features or bug fixes **must be tested** by one or more specs (unit-tests). -- All public API methods **must be documented**. -- We follow [Google's JavaScript Style Guide][js-style-guide], but wrap all code at **100 characters**. - - An automated formatter is available, see [DEVELOPER.md](docs/DEVELOPER.md#clang-format). - -## Commit Message Format - -_This specification is inspired by and supersedes the [iCAREJS commit message format][commit-message-format]._ - -We have very precise rules over how our Git commit messages must be formatted. -This format leads to **easier to read commit history**. - -Each commit message consists of a **header**, a **body**, and a **footer**. - -``` -
- - - -