Closed chmouel closed 2 weeks ago
Attention: Patch coverage is 60.19417%
with 41 lines
in your changes missing coverage. Please review.
Project coverage is 65.34%. Comparing base (
3723cde
) to head (5dfecd1
). Report is 4 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
/test go-testing
There was some defect that was exposed with the E2E test TestGiteaConcurrencyExclusivenessMultipleRuns
, it is fixed in this force push:
Tested manually with the given steps and with concurrency_limit
as 1, 2
Working as explained
Thank you :+1:
Please merge when you are done with stress testing
Continue when failing the concurrency
When we were failing concurrency we were not continuing to the next one and the semaphore will not be removing the lock which would end up with a deadlock.
This only happens when the underlying cluster is becoming really busy and have issues to update the pipelinerun in progress.
The only way to test this is to modify updatePipelineRunToInProgress.
I have a repo with three pipelinerun test-1, test-2 and test-3 matching a pull-request. I have a concurrency_limit of 1 in the repo spec.
I run the Pr and the test-1 should run successfully, test-2 should return an error but here test-3 should get kicked and start.
Here is the patch i have to do to test this, add this to reconciler/reconciler.go:
and add at the top of the
updatePipelineRunToInProgress
function:Jira: https://issues.redhat.com/browse/SRVKP-6740
Demo of the PR
Changes
Submitter Checklist
[X] ๐ Please ensure your commit message is clear and informative. For guidance on crafting effective commit messages, refer to the How to write a git commit message guide. We prefer the commit message to be included in the PR body itself rather than a link to an external website (ie: Jira ticket).
[X] โฝ Before submitting a PR, run make test lint to avoid unnecessary CI processing. For an even more efficient workflow, consider installing pre-commit and running pre-commit install in the root of this repository.
[ ] โจ We use linters to maintain clean and consistent code. Please ensure you've run make lint before submitting a PR. Some linters offer a --fix mode, which can be executed with the command make fix-linters (ensure markdownlint and golangci-lint tools are installed first).
[ ] ๐ If you're introducing a user-facing feature or changing existing behavior, please ensure it's properly documented.
[ ] ๐งช While 100% coverage isn't a requirement, we encourage unit tests for any code changes where possible.
[ ] ๐ If feasible, please check if an end-to-end test can be added. See README for more details.
[ ] ๐ If there's any flakiness in the CI tests, don't necessarily ignore it. It's better to address the issue before merging, or provide a valid reason to bypass it if fixing isn't possible (e.g., token rate limitations).