Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: prlinter crashes if it runs alongside itself #33129

Merged
merged 4 commits into from
Jan 24, 2025
Merged

Conversation

rix0rrr
Copy link
Contributor

@rix0rrr rix0rrr commented Jan 24, 2025

There is a race condition between multiple runs of the PR linter: it finds a review that it wants to dismiss, but if that already has been dismissed by another PR linter running in parallel the API call fails and the linter does too.

Catch this specific case.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

There is a race condition between multiple runs of the PR linter:
it finds a review that it wants to dismiss, but if that already has
been dismissed by another PR linter running in parallel the API
call fails and the linter does too.

Catch this specific case.
@rix0rrr rix0rrr requested a review from a team January 24, 2025 11:18
@github-actions github-actions bot added the p2 label Jan 24, 2025
@aws-cdk-automation aws-cdk-automation requested a review from a team January 24, 2025 11:18
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Jan 24, 2025
Copy link

codecov bot commented Jan 24, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 81.57%. Comparing base (5377586) to head (81f2323).

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #33129   +/-   ##
=======================================
  Coverage   81.57%   81.57%           
=======================================
  Files         227      227           
  Lines       13793    13793           
  Branches     2419     2419           
=======================================
  Hits        11251    11251           
  Misses       2270     2270           
  Partials      272      272           
Flag Coverage Δ
suite.unit 81.57% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
packages/aws-cdk 80.99% <ø> (ø)
packages/aws-cdk-lib/core 82.17% <ø> (ø)

Copy link
Contributor

mergify bot commented Jan 24, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This review is outdated)

Copy link
Contributor

mergify bot commented Jan 24, 2025

This pull request has been removed from the queue for the following reason: pull request dequeued.

Pull request #33129 has been dequeued, merge conditions unmatch:

  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by=0
  • status-success~=AWS CodeBuild us-east-1
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/patch/packages/aws-cdk
    • check-skipped = codecov/patch/packages/aws-cdk
    • check-success = codecov/patch/packages/aws-cdk
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/patch/packages/aws-cdk-lib/core
    • check-skipped = codecov/patch/packages/aws-cdk-lib/core
    • check-success = codecov/patch/packages/aws-cdk-lib/core
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/project/packages/aws-cdk
    • check-skipped = codecov/project/packages/aws-cdk
    • check-success = codecov/project/packages/aws-cdk
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/project/packages/aws-cdk-lib/core
    • check-skipped = codecov/project/packages/aws-cdk-lib/core
    • check-success = codecov/project/packages/aws-cdk-lib/core
  • any of [🛡 GitHub branch protection]:
    • check-neutral = AWS CodeBuild us-east-1 (AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv)
    • check-skipped = AWS CodeBuild us-east-1 (AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv)
    • check-success = AWS CodeBuild us-east-1 (AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv)
  • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
  • #approved-reviews-by>=1
  • -approved-reviews-by~=author
  • -closed
  • -label~=(blocked|do-not-merge|no-squash)
  • -merged
  • -title~=(WIP|wip)
  • base!=release
  • status-success=validate-pr
  • any of [🛡 GitHub branch protection]:
    • check-success = validate-pr
    • check-neutral = validate-pr
    • check-skipped = validate-pr

You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it.

If you want to requeue this pull request, you need to post a comment with the text: @mergifyio requeue

@aws-cdk-automation aws-cdk-automation dismissed their stale review January 24, 2025 12:23

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

Copy link
Contributor

mergify bot commented Jan 24, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@rix0rrr
Copy link
Contributor Author

rix0rrr commented Jan 24, 2025

@Mergifyio requeue

Copy link
Contributor

mergify bot commented Jan 24, 2025

requeue

✅ The queue state of this pull request has been cleaned. It can be re-embarked automatically

Copy link
Collaborator

@aws-cdk-automation aws-cdk-automation left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(This review is outdated)

Copy link
Contributor

mergify bot commented Jan 24, 2025

This pull request has been removed from the queue for the following reason: pull request dequeued.

Pull request #33129 has been dequeued, merge conditions unmatch:

  • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
  • #changes-requested-reviews-by=0
  • status-success~=AWS CodeBuild us-east-1
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/patch/packages/aws-cdk
    • check-skipped = codecov/patch/packages/aws-cdk
    • check-success = codecov/patch/packages/aws-cdk
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/patch/packages/aws-cdk-lib/core
    • check-skipped = codecov/patch/packages/aws-cdk-lib/core
    • check-success = codecov/patch/packages/aws-cdk-lib/core
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/project/packages/aws-cdk
    • check-skipped = codecov/project/packages/aws-cdk
    • check-success = codecov/project/packages/aws-cdk
  • any of [🛡 GitHub branch protection]:
    • check-neutral = codecov/project/packages/aws-cdk-lib/core
    • check-skipped = codecov/project/packages/aws-cdk-lib/core
    • check-success = codecov/project/packages/aws-cdk-lib/core
  • any of [🛡 GitHub branch protection]:
    • check-neutral = AWS CodeBuild us-east-1 (AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv)
    • check-skipped = AWS CodeBuild us-east-1 (AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv)
    • check-success = AWS CodeBuild us-east-1 (AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv)
  • #approved-reviews-by >= 1 [🛡 GitHub branch protection]
  • #approved-reviews-by>=1
  • -approved-reviews-by~=author
  • -closed
  • -label~=(blocked|do-not-merge|no-squash)
  • -merged
  • -title~=(WIP|wip)
  • base!=release
  • status-success=validate-pr
  • any of [🛡 GitHub branch protection]:
    • check-success = validate-pr
    • check-neutral = validate-pr
    • check-skipped = validate-pr

You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it.

If you want to requeue this pull request, you need to post a comment with the text: @mergifyio requeue

@aws-cdk-automation aws-cdk-automation dismissed their stale review January 24, 2025 13:43

✅ Updated pull request passes all PRLinter validations. Dismissing previous PRLinter review.

Copy link
Contributor

mergify bot commented Jan 24, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

@rix0rrr rix0rrr added the pr-linter/exempt-codecov The PR linter will not require codecov checks to pass label Jan 24, 2025
@rix0rrr
Copy link
Contributor Author

rix0rrr commented Jan 24, 2025

@Mergifyio requeue

Copy link
Contributor

mergify bot commented Jan 24, 2025

requeue

✅ The queue state of this pull request has been cleaned. It can be re-embarked automatically

Copy link
Contributor

mergify bot commented Jan 24, 2025

Thank you for contributing! Your pull request will be updated from main and then merged automatically (do not update manually, and be sure to allow changes to be pushed to your fork).

rix0rrr added a commit that referenced this pull request Jan 24, 2025
If we don't know the result of the CodeCov results yet, we used to ask
for changes, because it prevents merging while the check might still
fail in the future.

The following sequence of events happens because of this:

1. PR is ready to be merged (approved, everything passes)
2. Mergify enqueues it and merges from main
3. CodeCov needs to run again
4. PR linter requests changes because CodeCov result is uncertain
5. Mergify dequeues the PR because PR linter requests changes

This looks very confusing and noisy, and also will never fix itself, so
the PR ends up unmerged. You can see it happening here:
#33129

The better solution would probably be not to do a "Request Changes"
review, but leave a comment and create a GitHub "status" on the PR to
say 'success/pending/failure', and make it required.
(#33136)

For now, not doing anything with a 'waiting' status is a smaller delta,
and the race condition posed by it is unlikely to happen given that
there are much slower jobs that the merge is blocked on anyway.

See also #33136.

----

*By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache-2.0 license*
@rix0rrr rix0rrr merged commit 49fa74f into main Jan 24, 2025
17 of 20 checks passed
@rix0rrr rix0rrr deleted the huijbers/dupe-dismiss branch January 24, 2025 14:08
Copy link

Comments on closed issues and PRs are hard for our team to see.
If you need help, please open a new issue that references this one.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 24, 2025
@aws-cdk-automation
Copy link
Collaborator

AWS CodeBuild CI Report

  • CodeBuild project: AutoBuildv2Project1C6BFA3F-wQm2hXv2jqQv
  • Commit ID: 81f2323
  • Result: SUCCEEDED
  • Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
contribution/core This is a PR that came from AWS. p2 pr-linter/exempt-codecov The PR linter will not require codecov checks to pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants