Sitelet https://github.com/fluentassertions/fluentassertions/pull/3298
Skip to content

Cancel duplicate CI runs when a push triggers both push and pull_request events - #3298

Merged
dennisdoomen merged 1 commit into
mainfrom
dennisdoomen-cancel-duplicate-ci-runs-on-prs
Aug 10, 2026
Merged

dennisdoomen merged 1 commit into
mainfrom
dennisdoomen-cancel-duplicate-ci-runs-on-prs

Conversation

@dennisdoomen

Copy link
Copy Markdown
Member

Cancel older Build runs when both push and pull_request fire for the same PR branch update. A force-push to a PR branch can start two identical workflow runs, so this adds a concurrency group that keys on the pull request number or branch ref and cancels the older run.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Test Results

    37 files  ±0      37 suites  ±0   2m 43s ⏱️ -11s
 6 434 tests ±0   6 432 ✅ ±0  1 💤 ±0  1 ❌ ±0 
39 950 runs  ±0  39 943 ✅ ±0  6 💤 ±0  1 ❌ ±0 

For more details on these failures, see this check.

Results for commit fc88611. ± Comparison against base commit 7c5f77a.

This pull request removes 10 and adds 8 tests. Note that renamed tests count towards both.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HaveLength ‑ When_a_throwing_stream_should_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HaveLength ‑ When_a_throwing_stream_should_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HavePosition ‑ When_a_throwing_stream_should_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HavePosition ‑ When_a_throwing_stream_should_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHaveLength ‑ When_a_throwing_stream_should_not_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHaveLength ‑ When_a_throwing_stream_should_not_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHavePosition ‑ When_a_throwing_stream_should_not_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHavePosition ‑ When_a_throwing_stream_should_not_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetLengthExceptionMessage'.)
Object name: 'GetPositionExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HaveLength ‑ When_a_throwing_stream_should_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetLengthExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HaveLength ‑ When_a_throwing_stream_should_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetLengthExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HavePosition ‑ When_a_throwing_stream_should_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetPositionExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+HavePosition ‑ When_a_throwing_stream_should_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetPositionExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHaveLength ‑ When_a_throwing_stream_should_not_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetLengthExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHaveLength ‑ When_a_throwing_stream_should_not_have_a_length_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetLengthExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHavePosition ‑ When_a_throwing_stream_should_not_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetPositionExceptionMessage'.)
FluentAssertions.Specs.Streams.StreamAssertionSpecs+NotHavePosition ‑ When_a_throwing_stream_should_not_have_a_position_it_should_fail(exception: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'GetPositionExceptionMessage'.)

♻️ This comment has been updated with latest results.

@github-actions

Copy link
Copy Markdown

Qodana for .NET

It seems all right 👌

No new problems were found according to the checks applied

💡 Qodana analysis was run in the pull request mode: only the changed files were checked
☁️ View the detailed Qodana report

Contact Qodana team

Contact us at qodana-support@jetbrains.com

@coveralls

Copy link
Copy Markdown

Coverage Report for CI Build 31385656718

Warning

No base build found for commit 7c5f77a on main.
Coverage changes can't be calculated without a base build.
If a base build is processing, this comment will update automatically when it completes.

Coverage: 97.199%

Details

  • Patch coverage: No coverable lines changed in this PR.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

Requires a base build to compare against. How to fix this →


Coverage Stats

Coverage Status
Relevant Lines: 13436
Covered Lines: 13211
Line Coverage: 98.33%
Relevant Branches: 4376
Covered Branches: 4102
Branch Coverage: 93.74%
Branches in Coverage %: Yes
Coverage Strength: 79670.03 hits per line

💛 - Coveralls

@dennisdoomen
dennisdoomen requested a review from jnyrup August 10, 2026 12:11
@dennisdoomen dennisdoomen added the building Building and Infrastructure of Fluent Assertions label Aug 10, 2026
@dennisdoomen
dennisdoomen merged commit 6dcd236 into main Aug 10, 2026
12 of 14 checks passed
@dennisdoomen
dennisdoomen deleted the dennisdoomen-cancel-duplicate-ci-runs-on-prs branch August 10, 2026 16:57
This was referenced Sep 14, 2026
This was referenced Oct 2, 2026

This branch was previously deployed

1 inactive deployment
qodana-pr — fc886110 Deployed Aug 10, 2026 by dennisdoomen via Qodana Scan #71
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

building Building and Infrastructure of Fluent Assertions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants