Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
Dennis Doomen committed Jan 12, 2023
2 parents 8bc58e8 + ebee22a commit 946572e
Show file tree
Hide file tree
Showing 224 changed files with 4,997 additions and 1,413 deletions.
46 changes: 0 additions & 46 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

103 changes: 103 additions & 0 deletions .github/ISSUE_TEMPLATE/01_bug_report.yml
@@ -0,0 +1,103 @@
name: 🐞 Bug Report
description: Create a report to help us improve
labels: ["bug", "triage"]
body:
- type: markdown
attributes:
value: |
We welcome bug reports! Please see our [contribution guidelines](https://github.com/fluentassertions/fluentassertions/blob/develop/CONTRIBUTING.md#writing-a-good-bug-report) for more information on writing a good bug report.
**Before continuing, have you:**
* Tried upgrading to newest version of Fluent Assertions, to see if your issue has already been resolved and released?
* Checked existing open *and* closed [issues](https://github.com/fluentassertions/fluentassertions/issues?utf8=%E2%9C%93&q=is%3Aissue), to see if the issue has already been reported?
* Tried reproducing your problem in a new isolated project?
* Read the [documentation](https://fluentassertions.com/introduction)?
* Searched the two [test](https://github.com/fluentassertions/fluentassertions/tree/develop/Tests/FluentAssertions.Specs) [suites](https://github.com/fluentassertions/fluentassertions/tree/develop/Tests/FluentAssertions.Equivalency.Specs) if there is a test documenting the expected behavior?
* Considered if this is a general question and not a bug? For general questions please use [Stack Overflow](https://stackoverflow.com/questions/tagged/fluent-assertions?mixed=1).
- type: textarea
id: background
attributes:
label: Description
description: Please share a clear and concise description of the problem.
placeholder: Description
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: Reproduction Steps
description: |
Please include minimal steps to reproduce the problem if possible. E.g.: the smallest possible code snippet; or a small project, with steps to run it.
Always include text as text rather than screenshots so code can easily be copied and will show up in searches.
Stack Overflow has a great article about [how to create a minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example).
placeholder: Minimal Reproduction
value: |
```csharp
// Arrange
string input = "MyString";
// Act
char result = input[0];
// Assert
result.Should().Be('M');
```
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: |
Provide a description of the expected behavior.
placeholder: Expected behavior
validations:
required: true
- type: textarea
id: actual-behavior
attributes:
label: Actual behavior
description: |
Provide a description of the actual behavior observed. If applicable please include any error messages or exception stacktraces.
placeholder: Actual behavior
validations:
required: true
- type: textarea
id: regression
attributes:
label: Regression?
description: |
Did this work in a previous release of Fluent Assertions? If you can try a previous release to find out, that can help us narrow down the problem. If you don't know, that's OK.
placeholder: Regression?
validations:
required: false
- type: textarea
id: known-workarounds
attributes:
label: Known Workarounds
description: |
Please provide a description of any known workarounds.
placeholder: Known Workarounds
validations:
required: false
- type: textarea
id: configuration
attributes:
label: Configuration
description: |
Please provide more information on your .NET configuration:
* Which version of Fluent Assertions are you using?
* Which .NET runtime and version are you targeting? E.g. .NET framework 4.6.1 or .NET Core 2.1.
placeholder: Configuration
validations:
required: false
- type: textarea
id: other-info
attributes:
label: Other information
description: |
If you have an idea where the problem might lie, let us know that here. Please include any pointers to code, relevant changes, or related issues you know of.
placeholder: Other information
validations:
required: false
69 changes: 69 additions & 0 deletions .github/ISSUE_TEMPLATE/02_api_proposal.yml
@@ -0,0 +1,69 @@
name: 💡 API Suggestion
description: Propose a change to the public API surface
title: "[API Proposal]: "
labels: [api-suggestion]
body:
- type: markdown
attributes:
value: |
We welcome API proposals! We have a process to evaluate the value and shape of new API. There is an overview of our process [here](https://github.com/fluentassertions/fluentassertions/blob/develop/CONTRIBUTING.md#contributing-changes). This template will help us gather the information we need to start the review process.
- type: textarea
id: background
attributes:
label: Background and motivation
description: Please describe the purpose and value of the new API here.
placeholder: Purpose
validations:
required: true
- type: textarea
id: api-proposal
attributes:
label: API Proposal
description: |
Please provide the specific public API signature diff that you are proposing.
placeholder: API declaration (no method bodies)
value: |
```C#
public class EnumAssertions<TEnum, TAssertions>
{
public AndConstraint<TAssertions> BeDefined(string because = "", params object[] becauseArgs);
public AndConstraint<TAssertions> NotBeDefined(string because = "", params object[] becauseArgs);
}
```
validations:
required: true
- type: textarea
id: api-usage
attributes:
label: API Usage
description: |
Please provide code examples that highlight how the proposed API additions are meant to be consumed. This will help suggest whether the API has the right shape to be functional, performant and usable.
placeholder: API usage
value: |
```C#
var dayOfWeek = (DayOfWeek)1;
dayOfWeek.Should().BeDefined();
var invalidDayOfWeek = (DayOfWeek)999;
invalidDayOfWeek.Should().NotBeDefined();
```
validations:
required: true
- type: textarea
id: alternative-designs
attributes:
label: Alternative Designs
description: |
Please provide alternative designs. This might not be APIs; for example instead of providing new APIs an option might be to change the behavior of an existing API.
placeholder: Alternative designs
validations:
required: false
- type: textarea
id: risks
attributes:
label: Risks
description: |
Please mention any risks that to your knowledge the API proposal might entail, such as breaking changes, performance regressions, etc. If you are proposing a new overload of `Should()` include what type it currently resolves to for the type in question.
placeholder: Risks
validations:
required: false
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,14 @@
blank_issues_enabled: true
contact_links:
- name: 📚 Documentation
url: https://fluentassertions.com/introduction/
about: Read our comprehensive documentation.
- name: ⭐ Sponsor Fluent Assertions
url: https://github.com/sponsors/fluentassertions
about: Help the continued development.
- name: 💬 Ask on Stack Overflow
url: https://stackoverflow.com/questions/tagged/fluent-assertions
about: The best place for asking general purpose questions.
- name: 💬 Ask on Slack
url: https://fluentassertionsslack.herokuapp.com/
about: Get in touch with the whole community.
4 changes: 3 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
@@ -1,7 +1,9 @@
## IMPORTANT

* [ ] If the PR touches the public API, the changes have been approved in a separate issue with the "api-approved" label.
* [ ] The code complies with the [Coding Guidelines for C#](https://www.csharpcodingguidelines.com/).
* [ ] The changes are covered by unit tests which follow the Arrange-Act-Assert syntax and the naming conventions such as is used [in these tests](../tree/develop/Tests/FluentAssertions.Equivalency.Specs/MemberMatchingSpecs.cs#L51-L430).
* [ ] If the PR adds a feature or fixes a bug, please update [the release notes](../tree/develop/docs/_pages/releases.md) with a functional description that explains what the change means to consumers of this library, which are published on the [website](https://fluentassertions.com/releases).
* [ ] If the PR changes the public API the changes needs to be included by running [AcceptApiChanges.ps1](../tree/develop/AcceptApiChanges.ps1) or [AcceptApiChanges.sh](../tree/develop/AcceptApiChanges.sh).
* [ ] If the PR affects [the documentation](../tree/develop/docs/_pages), please include your changes in this pull request so the documentation will appear on the [website](https://www.fluentassertions.com/introduction).
* [ ] If the PR affects [the documentation](../tree/develop/docs/_pages), please include your changes in this pull request so the documentation will appear on the [website](https://www.fluentassertions.com/introduction).
* [ ] Please also run `./build.sh --target spellcheck` or `.\build.ps1 --target spellcheck` before pushing and check the good outcome
36 changes: 29 additions & 7 deletions .github/workflows/build.yml
@@ -1,12 +1,6 @@
name: build

on:
pull_request:
paths-ignore:
- docs/**
push:
paths-ignore:
- docs/**
on: [push, pull_request]

jobs:
build:
Expand All @@ -28,12 +22,14 @@ jobs:
2.1.x
3.1.x
6.0.x
7.0.x
- name: Run NUKE
run: ./build.ps1
env:
BranchSpec: ${{ github.ref }}
BuildNumber: ${{ github.run_number }}
PullRequestBase: ${{ github.event.pull_request.base.ref }}
ApiKey: ${{ secrets.NUGETAPIKEY }}

- name: coveralls
Expand All @@ -46,3 +42,29 @@ jobs:
uses: actions/upload-artifact@v3
with:
path: ./Artifacts/*
only-unit-tests:

strategy:
matrix:
os: [ubuntu-22.04, macos-12]

runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup .NET SDKs
uses: actions/setup-dotnet@v3
with:
dotnet-version: |
2.1.x
3.1.x
6.0.x
7.0.x
- name: Run NUKE
run: ./build.sh UnitTests
env:
BaseRef: ${{ github.event.pull_request.base.ref }}
7 changes: 5 additions & 2 deletions .gitignore
Expand Up @@ -7,7 +7,7 @@
*.sln.docstates
*.sln.ide
.vs/

.vscode/

project.lock.json
*.nuget.props
Expand Down Expand Up @@ -187,4 +187,7 @@ docs/node_modules
Tests/FluentAssertions.Specs/FluentAssertions.Specs.xml

# BenchmarkDotNet
Tests/Benchmarks/BenchmarkDotNet.Artifacts/
Tests/Benchmarks/BenchmarkDotNet.Artifacts/

# Documentation spell check
node_modules/
6 changes: 6 additions & 0 deletions .nuke/build.schema.json
Expand Up @@ -66,6 +66,10 @@
"type": "string"
}
},
"PullRequestBase": {
"type": "string",
"description": "The target branch for the pull request"
},
"Root": {
"type": "string",
"description": "Root directory during build execution"
Expand All @@ -84,6 +88,7 @@
"Pack",
"Push",
"Restore",
"SpellCheck",
"TestFrameworks",
"UnitTests"
]
Expand All @@ -107,6 +112,7 @@
"Pack",
"Push",
"Restore",
"SpellCheck",
"TestFrameworks",
"UnitTests"
]
Expand Down

0 comments on commit 946572e

Please sign in to comment.