-
Notifications
You must be signed in to change notification settings - Fork 88
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
feat: support commas in PipelineRun annotations #1825
feat: support commas in PipelineRun annotations #1825
Conversation
This needs to be merged after #1823 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1825 +/- ##
==========================================
+ Coverage 65.38% 65.40% +0.01%
==========================================
Files 177 177
Lines 13704 13706 +2
==========================================
+ Hits 8961 8965 +4
+ Misses 4141 4140 -1
+ Partials 602 601 -1 ☔ View full report in Codecov by Sentry. |
6185ffd
to
4878a24
Compare
/test go-testing |
This commit introduces support for using commas within annotations by allowing users to escape them with the HTML entity `&openshift-pipelines#44;`. This ensures compatibility with annotations that rely on comma-separated values while also permitting the inclusion of literal commas in file paths or branch names. This enhancement maintains backward compatibility while enabling more precise and flexible use of annotations. **Jira**: https://issues.redhat.com/browse/SRVKP-6790 **Signed-off-by**: Chmouel Boudjnah <[email protected]> Signed-off-by: Chmouel Boudjnah <[email protected]>
4878a24
to
030cc8e
Compare
@@ -71,13 +71,15 @@ func getAnnotationValues(annotation string) ([]string, error) { | |||
|
|||
// if it's not an array then it would be a single string | |||
if !strings.HasPrefix(annotation, "[") { | |||
return []string{annotation}, nil | |||
// replace , with comma so users can have comma in the annotation | |||
annot := strings.ReplaceAll(annotation, ",", ",") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will it replace when ,
is inbetween name such as [main, release,nightly]
OR
does its replace in this scenario as well [main, release]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
strings.Split doesn't consider spaces... so [main, release,nightly] means any of those branches.
This commit introduces support for using commas within annotations by
allowing users to escape them with the HTML entity
,
. This ensurescompatibility with annotations that rely on comma-separated values while
also permitting the inclusion of literal commas in file paths or branch
names.
This enhancement maintains backward compatibility while enabling more
precise and flexible use of annotations.
Jira: https://issues.redhat.com/browse/SRVKP-6790
Signed-off-by: Chmouel Boudjnah [email protected]
Submitter Checklist
📝 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).
♽ 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).