Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Issue

## Expected behaviour

<!-- Explain what you expected to happen. -->

## Actual behaviour

<!-- Explain what actually happened. If an exception occurred, please include a stack trace if available. -->

## Steps to reproduce

<!-- A concise, repeatable, example of how to illustrate the issue. -->
71 changes: 71 additions & 0 deletions .github/ISSUE_TEMPLATE/10_bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: 🐛 Bug report
description: Something not behaving as expected?
title: '[Bug]: '
labels: ['bug']
body:
- type: markdown
attributes:
value: |
Please check for an existing issue and our documentation at [pollydocs.org](https://www.pollydocs.org/) before submitting a bug report.
- type: textarea
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: false
- type: textarea
attributes:
label: Actual behavior
description: What actually happens.
validations:
required: false
- type: textarea
attributes:
label: Steps to reproduce
description: |
We ❤ code! Point us to a [minimalistic project which reproduces this issue (repro)](https://stackoverflow.com/help/mcve) hosted in a public GitHub repository.
Code snippets, such as a failing unit test, which demonstrate the issue wrapped in a codefence are also acceptable.

We will close this issue if:
- We are not able to repro the behavior you're reporting.
- The issue is a duplicate of an existing issue.
- The behavior you're reporting is by design.
validations:
required: false
- type: textarea
attributes:
label: Exception(s) (if any)
description: Include any exception(s) and stack trace(s) you get when facing this issue.
placeholder:
validations:
required: false
- type: input
attributes:
label: Polly version
description: |
Which version of Polly are you facing the issue with?
validations:
required: false
- type: input
attributes:
label: .NET Version
description: |
Run `dotnet --version` to get the .NET SDK version you're using.
Alternatively, which target framework(s) (e.g. `net6.0`) does the project you're using Polly in target?
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering is useful.

💡Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
validations:
required: false
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/20_feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: 💡 Feature request
description: Suggest a feature request or improvement
title: '[Feature request]: '
labels: ['feature suggestion']
body:
- type: markdown
attributes:
value: |
Please check for an existing issue and our documentation at [pollydocs.org](https://www.pollydocs.org/) before submitting a feature request.
- type: textarea
attributes:
label: Is your feature request related to a specific problem? Or an existing feature?
description: A clear and concise description of what the problem is. Motivating examples help us prioritize things.
placeholder: I am trying to do [...] but [...]
validations:
required: true
- type: textarea
attributes:
label: Describe the solution you'd like
description: |
A clear and concise description of what you want to happen. Include any alternative solutions you've considered.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: |
Add any other context or screenshots about the feature request here.
validations:
required: false
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/30_question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: 🤔 Question?
description: You have something specific to achieve and the existing documentation hasn't covered how.
title: '[Question]: '
labels: ['question']
body:
- type: markdown
attributes:
value: |
Please check for an existing issue and our documentation at [pollydocs.org](https://www.pollydocs.org/) before asking a question.
Also consider asking your question on [Stack Overflow](https://stackoverflow.com/questions/tagged/polly) instead.
- type: textarea
attributes:
label: What are you wanting to achieve?
description: A clear and concise description of what you're trying to do.
placeholder: I am trying to do [...] but [...]
validations:
required: true
- type: textarea
attributes:
label: What code or approach do you have so far?
description: |
We ❤ code! Point us to a [minimalistic project which shows what you have so far](https://stackoverflow.com/help/mcve) hosted in a public GitHub repository.
Code snippets wrapped in a codefence are also acceptable.
validations:
required: true
- type: textarea
attributes:
label: Additional context
description: |
Add any other context or screenshots related to your question here.
validations:
required: false
16 changes: 0 additions & 16 deletions .github/ISSUE_TEMPLATE/bug.md

This file was deleted.

11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: Contact us
url: https://pollytalk.slack.com
about: You can also contact us on Slack.
- name: Documentation
url: https://www.pollydocs.org/
about: Check out Polly's documentation for hints, tips and samples.
- name: Stack Overflow
url: https://stackoverflow.com/questions/tagged/polly
about: Ask a question about Polly on Stack Overflow.
22 changes: 0 additions & 22 deletions .github/ISSUE_TEMPLATE/how-to.md

This file was deleted.

14 changes: 0 additions & 14 deletions .github/ISSUE_TEMPLATE/request.md

This file was deleted.

3 changes: 3 additions & 0 deletions .github/wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ rabbitmq
ratelimiting
ratiosd
readme
rebase
rebased
rebasing
resharper
rethrow
rethrows
Expand Down
6 changes: 4 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

Please be sure to branch from the head of the default branch when developing contributions.

For GitHub workflow, check out our [Wiki](https://github.com/App-vNext/Polly/wiki/Git-Workflow).
For our GitHub workflow, check out our [documentation](https://www.pollydocs.org/community/git-workflow.html).

Since Polly is part of the .NET Foundation, we ask our contributors to abide by their [Code of Conduct](https://www.dotnetfoundation.org/code-of-conduct). To contribute (beyond trivial typo corrections), review and sign the [.NET Foundation Contributor License Agreement](https://cla.dotnetfoundation.org/). This ensures the community is free to use your contributions. The registration process can be completed entirely online.

Also, we've stood up a [Slack](http://www.pollytalk.org) channel for easier real-time discussion of ideas and the general direction of Polly as a whole. Be sure to [join the conversation](http://www.pollytalk.org) today!.
Also, we've stood up a [Slack][slack] channel for easier real-time discussion of ideas and the general direction of Polly as a whole. Be sure to [join the conversation][slack] today!.

[slack]: https://pollytalk.slack.com
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,6 @@ To learn more about Polly, visit [pollydocs.org][polly-docs].

## License

Licensed under the terms of the [New BSD License](http://opensource.org/licenses/BSD-3-Clause)
Licensed under the terms of the [New BSD License](https://opensource.org/license/bsd-3-clause/)

[polly-docs]: https://www.pollydocs.org/
2 changes: 1 addition & 1 deletion build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Performs a dry run of the build script.
No tasks will be executed.

.LINK
http://cakebuild.net
https://cakebuild.net
#>

Param(
Expand Down
49 changes: 49 additions & 0 deletions docs/community/git-workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Git Workflow

Our recommended process for working with Polly is:

1. [Fork](https://docs.github.com/get-started/quickstart/fork-a-repo) our repository on GitHub
2. Clone your fork locally
3. Configure the upstream (`git remote add upstream https://github.com/App-vNext/Polly.git`)
4. Switch to the default branch (i.e. `main`) using `git checkout main`
5. Create a new local branch for your changes (`git checkout -b my-branch`).
6. Work on your changes
7. Rebase if required (see below)
8. Push the branch up to GitHub (`git push origin my-branch`)
9. [Create a Pull Request][create-a-pr] on GitHub - the PR should target (have as base branch) the default branch (i.e. `main`).

You should not work on a clone of the default branch, and you should not send a pull request from it - please always work from a branch. The reasons for this are detailed below.

## Learning Git Workflow

For an introduction to Git, check out [GitHub's _Git Guide_](https://github.com/git-guides). For more information about GitHub Flow, please head over to the [GitHub Flow](https://docs.github.com/get-started/quickstart/github-flow) documentation.

## Handling Updates from the default branch

While you're working away in your branch, it's possible that one or more new commits have been added to the repository's default branch. If this happens you should:

1. [Stash](https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning) any uncommitted changes you need to
2. `git checkout main`
3. `git pull upstream main`
4. `git checkout my-branch`
5. `git rebase main`
6. [Sync your fork](https://docs.github.com/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork) (optional) - this makes sure your remote main branch is up to date

This ensures that your history is "clean" i.e. you have one branch off from `main` followed by your changes in a straight line. Failing to do this ends up with several "messy" merges in your history, which we don't want. This is the reason why you should always work in a branch and you should never be working in, or sending pull requests from, `main`.

Rebasing public commits is [considered to be bad practice](https://git-scm.com/book/en/v2/Git-Branching-Rebasing#The-Perils-of-Rebasing), which is why we ask you to rebase any updates from `upstream/main`.

If you're working on a long running feature then you may want to do this quite often, rather than run the risk of potential merge issues further down the line.

## Sending a Pull Request

While working on your feature you may well create several branches, which is fine, but before you send a pull request you should ensure that you have rebased back to a single "feature branch" - we care about your commits, and we care about your feature branch; but we don't care about how many or which branches you created while you were working on it.

When you're ready to go you should confirm that you are up-to-date and rebased with upstream (see _"Handling Updates from the default branch"_ above), and then:

1. `git push origin my-branch`
1. Send a descriptive [Pull Request][create-a-pr] on GitHub - making sure you have selected the correct branch in the GitHub UI.

It is not the end of the world if the commit history in your pull request ends up being messy - we can always squash it down to a single commit before merging. However, if you follow the steps above you should end up with a neater history.

[create-a-pr]: https://docs.github.com/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request
2 changes: 1 addition & 1 deletion docs/community/libraries-and-contributions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
- [Fluent Assertions](https://github.com/fluentassertions/fluentassertions) - A set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test | [Apache License 2.0 (Apache)](https://github.com/dennisdoomen/fluentassertions/blob/develop/LICENSE)
- [xUnit.net](https://github.com/xunit/xunit) - Free, open source, community-focused unit testing tool for the .NET Framework | [Apache License 2.0 (Apache)](https://github.com/xunit/xunit/blob/main/license.txt)
- [Ian Griffith's `TimedLock`](http://www.interact-sw.co.uk/iangblog/2004/04/26/yetmoretimedlocking)
- [Steven van Deursen's `ReadOnlyDictionary`](http://www.cuttingedge.it/blogs/steven/pivot/entry.php?id=29) (until Polly v5.0.6)
- [Steven van Deursen's `ReadOnlyDictionary`](https://blogs.cuttingedge.it/steven/posts/2007/readonlydictionary/) (until Polly v5.0.6)
- [Stephen Cleary's `AsyncEx` library](https://github.com/StephenCleary/AsyncEx) for `AsyncSemaphore` (supports `BulkheadAsync` policy for .NET 4.0 only) (until Polly v5.9.0) | [MIT license](https://github.com/StephenCleary/AsyncEx/blob/master/LICENSE)
- [@theraot](https://github.com/theraot)'s [`ExceptionDispatchInfo` implementation for .NET 4.0](https://stackoverflow.com/a/31226509/) (supports Timeout policy for .NET4.0 only) (until Polly v5.9.0) including also a contribution by [@migueldeicaza](https://github.com/migueldeicaza) | Licensed under and distributed under [Creative Commons Attribution Share Alike license](https://creativecommons.org/licenses/by-sa/3.0/) per [StackExchange Terms of Service](https://stackexchange.com/legal)
- Build powered by [Cake](https://cakebuild.net/) and [MinVer](https://github.com/adamralph/minver). Developers powered by [Resharper](https://www.jetbrains.com/resharper/), with thanks to JetBrains for [OSS licensing](https://www.jetbrains.com/support/community/#section=open-source).
Expand Down
2 changes: 1 addition & 1 deletion docs/community/polly-contrib.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Polly now has a [Polly-Contrib](https://github.com/Polly-Contrib) to allow the community to contribute policies or other enhancements around Polly with a low burden of ceremony.

Have a contrib you'd like to publish under Polly-Contrib? Contact us with an issue here or on [Polly's Slack](http://pollytalk.slack.com), and we can set up a CI-ready Polly.Contrib repository to which you have full rights, to help you manage and deliver your awesomeness to the community!
Have a contribution you'd like to publish under Polly-Contrib? Contact us with an issue here or on [Polly's Slack](https://pollytalk.slack.com), and we can set up a CI-ready Polly.Contrib repository to which you have full rights, to help you manage and deliver your awesomeness to the community!

We also provide:

Expand Down
Loading