summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/CODE_OF_CONDUCT.md46
-rw-r--r--.github/COMMIT_FORMAT.md105
-rw-r--r--.github/COMMIT_FORMAT_EXAMPLES.md69
-rw-r--r--.github/ISSUE_TEMPLATE.md30
-rw-r--r--.github/workflows/tests.yml32
5 files changed, 282 insertions, 0 deletions
diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..37e01a5
--- /dev/null
+++ b/.github/CODE_OF_CONDUCT.md
@@ -0,0 +1,46 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or advances
+* 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
+* Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+Project maintainers 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.
+
+Project maintainers 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, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. 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 project team at joseph.werle@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
+
+Project 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][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
+
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
diff --git a/.github/COMMIT_FORMAT.md b/.github/COMMIT_FORMAT.md
new file mode 100644
index 0000000..5a1f388
--- /dev/null
+++ b/.github/COMMIT_FORMAT.md
@@ -0,0 +1,105 @@
+Commit Message Formatting
+=========================
+
+*Based on the [Git Commit Msg][karma-git-format] format described by Karma.*
+
+## Format of a commit message:
+
+First line cannot be longer than 70 characters, second line is always
+blank and other lines should be wrapped at 80 characters.
+
+```
+<type>(<scope>): <subject>
+
+<body>
+
+<footer>
+```
+
+### Message subject
+
+A message subject is required and **must not** be proceeded by a
+newline. The contents of a message subject should not be longer than 70
+characters and should not wrap onto the next line. If a message subject
+is too long, then it should be made smaller and a more verbose message
+should be in the [message body][#message-body].
+
+**Allowed `<type>` values:**
+
+* **feat** (new feature)
+* **fix** (bug fix)
+* **docs** (changes to documentation)
+* **style** (formatting, missing semi colons, etc; no code change)
+* **refactor** (refactoring production code)
+* **test** (adding missing tests, refactoring tests; no production code change)
+* **chore** (updating grunt tasks etc; no production code change)
+
+**Example `<scope>` values:**
+* init
+* runner
+* watcher
+* config
+* web-server
+* proxy
+* etc.
+
+*The `<scope>` can be empty (eg. if the change is a global or difficult to
+assign to a single component), in which case the parentheses are
+omitted.*
+
+### Message body
+
+A message body is optional and must be proceeded by a new line after the
+message subject. The contents of the message body should be wrapped at 80
+characters.
+
+A message body should:
+
+* use the imperative, present tense: “change” not “changed” nor “changes”
+* include motivation for the change and contrasts with previous behavior
+
+***For more info about message body, see:***
+* http://365git.tumblr.com/post/3308646748/writing-git-commit-messages
+* http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
+
+### Message footer
+
+A message footer is optional and must be proceeded by a new line after the
+message body. The contents of the message footer should be wrapped at 80
+characters.
+
+A message footer could include the following:
+
+**Referencing issues:**
+
+Closed issues should be listed on a separate line in the footer prefixed
+with "Closes" keyword like this:
+
+```
+Closes #234
+```
+
+or in case of multiple issues:
+
+```
+Closes #123, #245, #992
+```
+
+**Breaking changes:**
+
+All breaking changes have to be mentioned in footer with the description
+of the change, justification and migration notes.
+
+```
+BREAKING CHANGE:
+
+`port-runner` command line option has changed to `runner-port`, so that
+it is
+consistent with the configuration file syntax.
+
+To migrate your project, change all the commands, where you use
+`--port-runner` to `--runner-port`.
+
+```
+
+[karma-git-format]: http://karma-runner.github.io/0.10/dev/git-commit-msg.html
diff --git a/.github/COMMIT_FORMAT_EXAMPLES.md b/.github/COMMIT_FORMAT_EXAMPLES.md
new file mode 100644
index 0000000..e218618
--- /dev/null
+++ b/.github/COMMIT_FORMAT_EXAMPLES.md
@@ -0,0 +1,69 @@
+Commit Message Examples
+=======================
+
+## Chores
+
+A `chore` type is a task not directly tied to a feature, fix, or test. It is
+often work that requires no change to production code.
+
+```
+chore(scripts/): Moved extraneous scripts into scripts/ directory
+```
+
+## Documentation
+
+A `docs` type is a task that directly effects documentation that is
+constructed manually, programmatically, or through a third-party. This
+can include typos, additions, deletions, and examples.
+
+```
+docs(allocator.h): Document prototypes
+```
+
+## Features
+
+A `feat` type is a task that introduces a new feature. The new feature
+may introduce a breaking change to production code.
+
+```
+feat(storage.c): Introduce new random access storage operation
+```
+
+## Fixes/bugs
+
+A `fix` type is a task that addresses a bug in production code, build
+scripts, compilation steps, or anything that directly or indirectly breaks or
+impacts production.
+
+```
+fix(request.c): Fix double free
+```
+
+## Refactoring
+
+A `refactor` type is a task that changes existing code. A refactor
+should be an improvement to the existing production code.
+
+```
+refactor(platform.h): Simplify macro ifdef logic for platform includes
+```
+
+## Code style
+
+A `style` type is a task that addresses code formatting such as missing
+semicolons, converting tabs to spaces, or removing extra newlines. There
+should not be any code changes.
+
+```
+style(sleepfile.h): Convert tabs to spaces
+```
+
+## Tests
+
+A `test` type is a task that addresses the testing of production code.
+This may include adding a new or missing test, refactoring existing
+tests, or removing useless tests. There should not be any code changes.
+
+```
+test(test.c): Enhance code path coverage
+```
diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md
new file mode 100644
index 0000000..94a999e
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE.md
@@ -0,0 +1,30 @@
+<!--
+
+Thanks for filing an issue! If this is a question or feature request, just delete
+everything here and write out the request, providing as much context as you can.
+
+-->
+
+### What OS are you using (`uname -a`, or Windows version)?
+
+<!--
+Please specify your operating system version and architecture (i686/amd64 etc).
+If you're running Windows - please also provide your IE version.
+-->
+
+### What programming language are you using (C/C++/Go/Rust)?
+
+<!--
+`gcc --version`
+`clang --version`
+`go version`
+`rustc --version`
+-->
+
+### What did you expect to see and what you saw instead?
+
+<!--
+Your issue may already be reported! Please search on the issue tracker before creating a new one.
+If your issue has not been reported yet - please describe your problem with as much details as you can.
+Thanks you.
+-->
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..b715700
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,32 @@
+name: Tests
+
+on: [push, pull_request]
+
+jobs:
+ linux:
+ name: Linux
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: System Setup
+ shell: bash
+ run: |
+ sudo apt install -qq libcurl4-gnutls-dev
+ - name: Run Tests
+ run: |
+ make
+ make test
+
+ macos:
+ name: macOS
+ runs-on: macos-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: System Setup
+ shell: bash
+ run: |
+ : # noop
+ - name: Run Tests
+ run: |
+ make
+ make test