This repository has been archived by the owner on Apr 24, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update README, add testing instructions, add lint and fmt config to deno.jsonc, add contributing and maintainer guides. * Update CI test command to use same command as specified to use in README * Removing references to issues from the contributer and maintainer guides.
- Loading branch information
Showing
6 changed files
with
185 additions
and
8 deletions.
There are no files selected for viewing
This file contains 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,64 @@ | ||
# Contributors Guide | ||
|
||
Interested in contributing? Awesome! Before you do though, please read our | ||
[Code of Conduct](https://slackhq.github.io/code-of-conduct). We take it very seriously, and expect that you will as | ||
well. | ||
|
||
There are many ways you can contribute! :heart: | ||
|
||
### Bug Reports and Fixes :bug: | ||
- At this early stage of development we are not accepting bug reports or feature requests through GitHub. Yet. | ||
|
||
<!-- | ||
- If you find a bug, please search for it in the [Issues](https://github.com/slackapi/deno-slack-builder/issues), and if it isn't already tracked, | ||
[create a new issue](https://github.com/slackapi/deno-slack-builder/issues/new). Fill out the "Bug Report" section of the issue template. Even if an Issue is closed, feel free to comment and add details, it will still | ||
be reviewed. | ||
- Issues that have already been identified as a bug (note: able to reproduce) will be labelled `bug`. | ||
- If you'd like to submit a fix for a bug, [send a Pull Request](#creating_a_pull_request) and mention the Issue number. | ||
- Include tests that isolate the bug and verifies that it was fixed. | ||
### New Features :bulb: | ||
- If you'd like to add new functionality to this project, describe the problem you want to solve in a [new Issue](https://github.com/slackapi/deno-slack-builder/issues/new). | ||
- Issues that have been identified as a feature request will be labelled `enhancement`. | ||
- If you'd like to implement the new feature, please wait for feedback from the project | ||
maintainers before spending too much time writing the code. In some cases, `enhancement`s may | ||
not align well with the project objectives at the time. | ||
### Tests :mag:, Documentation :books:, Miscellaneous :sparkles: | ||
- If you'd like to improve the tests, you want to make the documentation clearer, you have an | ||
alternative implementation of something that may have advantages over the way its currently | ||
done, or you have any other change, we would be happy to hear about it! | ||
- If its a trivial change, go ahead and [send a Pull Request](#creating_a_pull_request) with the changes you have in mind. | ||
- If not, [open an Issue](https://github.com/slackapi/deno-slack-builder/issues/new) to discuss the idea first. | ||
If you're new to our project and looking for some way to make your first contribution, look for | ||
Issues labelled `good first contribution`. | ||
--> | ||
|
||
## Requirements | ||
|
||
For your contribution to be accepted: | ||
|
||
- [x] You must have signed the [Contributor License Agreement (CLA)](https://cla-assistant.io/slackapi/deno-slack-builder). | ||
- [x] The test suite must be complete and pass. | ||
- [x] The changes must be approved by code review. | ||
- [x] Commits should be atomic and messages must be descriptive. Related issues should be mentioned by Issue number. | ||
|
||
If the contribution doesn't meet the above criteria, you may fail our automated checks or a maintainer will discuss it with you. You can continue to improve a Pull Request by adding commits to the branch from which the PR was created. | ||
|
||
[Interested in knowing more about about pull requests at Slack?](https://slack.engineering/on-empathy-pull-requests-979e4257d158#.awxtvmb2z) | ||
|
||
## Creating a Pull Request | ||
|
||
1. :fork_and_knife: Fork the repository on GitHub. | ||
2. :runner: Clone/fetch your fork to your local development machine. It's a good idea to run the tests just | ||
to make sure everything is in order. | ||
3. :herb: Create a new branch and check it out. | ||
4. :crystal_ball: Make your changes and commit them locally. Magic happens here! | ||
5. :arrow_heading_up: Push your new branch to your fork. (e.g. `git push username fix-issue-16`). | ||
6. :inbox_tray: Open a Pull Request on github.com from your new branch on your fork to `main` in this | ||
repository. | ||
|
||
## Maintainers | ||
|
||
There are more details about processes and workflow in the [Maintainer's Guide](./maintainers_guide.md). |
This file contains 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,82 @@ | ||
# Maintainers Guide | ||
|
||
This document describes tools, tasks and workflow that one needs to be familiar with in order to effectively maintain | ||
this project. If you use this package within your own software as is but don't plan on modifying it, this guide is | ||
**not** for you. | ||
|
||
## Tools | ||
|
||
All you need to work on this project is a recent version of [Deno](https://deno.land/) | ||
|
||
## Tasks | ||
|
||
### Testing | ||
|
||
Test can be run directly with Deno: | ||
|
||
deno task test | ||
|
||
You can also run a test coverage report with: | ||
|
||
deno task coverage | ||
|
||
### Releasing | ||
|
||
Releases for this library are automatically generated off of git tags. Before creating a new release, ensure that everything on the `main` branch since the last tag is in a releasable state! At a minimum, [run the tests](#testing). | ||
|
||
To create a new release: | ||
|
||
1. Create a new GitHub Release from the [Releases page](https://github.com/slackapi/deno-slack-builder/releases) by clicking the "Draft a new release" button. | ||
2. Input a new version manually into the "Choose a tag" input. Ensure that this version adheres to [semantic versioning][semver] based on what's being released. Version tags should match the following pattern: `1.0.1` (no `v` preceding the number). | ||
- After you input the new version, click the "Create a new tag: x.x.x on publish" button. | ||
3. Set the "Target" input to the "main" branch. | ||
4. Name the release title after the version tag. | ||
5. Auto-generate the release notes by clicking the "Auto-generate release notes" button. Review the generated release notes, make sure they are accessible and approachable and that an end-user with little context about this project could still understand. | ||
6. Make sure "This is a pre-release" is _not_ checked. | ||
7. Publish the release by clicking the "Publish release" button! | ||
8. After a few minutes, the corresponding version will be available on https://deno.land/x/deno_slack_builder. | ||
|
||
## Workflow | ||
|
||
### Versioning and Tags | ||
|
||
This project is versioned using [Semantic Versioning][semver]. | ||
|
||
### Branches | ||
|
||
> Describe any specific branching workflow. For example: | ||
> `main` is where active development occurs. | ||
> Long running branches named feature branches are occasionally created for collaboration on a feature that has a large scope (because everyone cannot push commits to another person's open Pull Request) | ||
<!-- | ||
### Issue Management | ||
Labels are used to run issues through an organized workflow. Here are the basic definitions: | ||
* `bug`: A confirmed bug report. A bug is considered confirmed when reproduction steps have been | ||
documented and the issue has been reproduced. | ||
* `enhancement`: A feature request for something this package might not already do. | ||
* `docs`: An issue that is purely about documentation work. | ||
* `tests`: An issue that is purely about testing work. | ||
* `needs feedback`: An issue that may have claimed to be a bug but was not reproducible, or was otherwise missing some information. | ||
* `discussion`: An issue that is purely meant to hold a discussion. Typically the maintainers are looking for feedback in this issues. | ||
* `question`: An issue that is like a support request because the user's usage was not correct. | ||
* `semver:major|minor|patch`: Metadata about how resolving this issue would affect the version number. | ||
* `security`: An issue that has special consideration for security reasons. | ||
* `good first contribution`: An issue that has a well-defined relatively-small scope, with clear expectations. It helps when the testing approach is also known. | ||
* `duplicate`: An issue that is functionally the same as another issue. Apply this only if you've linked the other issue by number. | ||
**Triage** is the process of taking new issues that aren't yet "seen" and marking them with a basic | ||
level of information with labels. An issue should have **one** of the following labels applied: | ||
`bug`, `enhancement`, `question`, `needs feedback`, `docs`, `tests`, or `discussion`. | ||
Issues are closed when a resolution has been reached. If for any reason a closed issue seems | ||
relevant once again, reopening is great and better than creating a duplicate issue. | ||
--> | ||
|
||
## Everything else | ||
|
||
When in doubt, find the other maintainers and ask. | ||
|
||
[semver]: http://semver.org/ |
This file contains 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
This file contains 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 |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# MacOS generated files | ||
.DS_Store | ||
.DS_Store? | ||
.coverage |
This file contains 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
This file contains 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,16 @@ | ||
{ | ||
"fmt": { | ||
"files": { | ||
"include": ["src"] | ||
} | ||
}, | ||
"lint": { | ||
"files": { | ||
"include": ["src"] | ||
} | ||
}, | ||
"tasks": { | ||
"test": "deno fmt --check && deno lint && deno test src", | ||
"coverage": "deno test --coverage=.coverage src && deno coverage --exclude=fixtures --exclude=test .coverage" | ||
} | ||
} |