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

Ensure getPrList() results integrity mid-run #32040

Open
rarkins opened this issue Oct 20, 2024 · 3 comments
Open

Ensure getPrList() results integrity mid-run #32040

rarkins opened this issue Oct 20, 2024 · 3 comments
Assignees
Labels
priority-2-high Bugs impacting wide number of users or very important features type:refactor Refactoring or improving of existing code

Comments

@rarkins
Copy link
Collaborator

rarkins commented Oct 20, 2024

Describe the proposed change(s).

It's important that platform.getPrList() returns an accurate list, particularly after PRs are created.

Check each platform to make sure that createPr() and updatePr() both mutate/update any saved PR lists for each platform.

@rarkins rarkins added priority-2-high Bugs impacting wide number of users or very important features type:refactor Refactoring or improving of existing code labels Oct 20, 2024
@rarkins
Copy link
Collaborator Author

rarkins commented Oct 20, 2024

While looking into this, please also check on whether the PR list is cached reliably too.

@RahulGautamSingh
Copy link
Collaborator

RahulGautamSingh commented Oct 21, 2024

Summarizing the tasks for this PR:

Platform Storage Details

Platform getPrList() Storage Location Updates Storage On: createPr() Updates Storage On: updatePr()
Azure local config
Bitbucket Cloud repo cache
Bitbucket Server local config
CodeCommit local config
Gerrit function not used
Gitea repo cache
Github local config & repo cache
Gitlab local config

Implementation Tasks

Primary Task

  • Implement updatePr() storage updates for:
    • Bitbucket Cloud (repo cache)
    • Bitbucket Server (local config)
    • Gitlab (local config)

Optional Platforms

Consider implementation for:

  • CodeCommit
  • Gerrit
    (Note: Lower priority, implementation might not be needed)

Test Cases

For each platform, verify:

  1. PR Creation

    • Verify created PR appears in getPrList() immediately after creation
    • Verify created PR persists in getPrList() on subsequent runs -- if cache is used
  2. PR Updates

    • Verify bot-updated PR info appears in getPrList() after updatePr() call
    • Verify updated PR info persists in getPrList() on subsequent runs -- if cache is used
  3. External Updates -- if cache is used

    • Verify getPrList() reflects changes made via platform UI ie. cache.reconcile function is working as expected

@rarkins
Copy link
Collaborator Author

rarkins commented Oct 22, 2024

Code Commit can be skipped as it's deprecated. Gerritt also unless it's really quick. Ideally all platforms would update the PR cache correctly too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority-2-high Bugs impacting wide number of users or very important features type:refactor Refactoring or improving of existing code
Projects
None yet
Development

No branches or pull requests

2 participants