Support multiple lang-branch overrides in PR title#6468
Conversation
Previously, specifying a tracer branch override in the PR title (e.g. [java@my-branch]) only supported a single override at a time. This change allows multiple overrides like [java@branch1][dotnet@branch2] so that different libraries can each use their own dev branch. The get_target_branch action now outputs a JSON map of library to branch, and the compute-workflow-parameters workflow extracts the correct branch for each library before passing it to load-binary.sh. Backward compatibility with plain branch strings is preserved. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Update target branch selection docs to reflect that multiple [lang@branch] pairs can now be specified simultaneously in the PR title. Update the workflow parameter description to note JSON map support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c04ec34d65
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
cbeauchesne
left a comment
There was a problem hiding this comment.
Few small request changes.
Side note, do you have a run proving that both a single and a multiple title lamrker works as expected ?
@cbeauchesne yep! You can check the runs on #6466 where I used this to iterate across several languages |
- Rewrite bash scripts to Python (shell: python) in get_target_branch and compute-workflow-parameters extract step - Rename target-branch -> target-branch-map across all workflows - Rename _system_tests_library_target_branch -> _system_tests_library_target_branch_map - Remove legacy plain-string backward compatibility path - Add setup-python action for get_target_branch - Update docs accordingly Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Motivation
The system-tests CI supports specifying a tracer branch override in the PR title like
[java@my-branch], but it only supported one branch override at a time. This made it impossible to test PRs that need changes from multiple tracer libraries simultaneously (e.g.[java@branch1][dotnet@branch2]).Changes
get_target_branchaction: Rewrote in Python (shell: python) withsetup-pythonaction. Captures all[lang@branch]pairs from the PR title and outputs them as a JSON map (e.g.{"java":"branch1","dotnet":"branch2"}). Added ahas-target-branchboolean output. Renamed output fromtarget-branchtotarget-branch-map.compute-workflow-parameters.yml: Rewrote the extract step in Python. Extracts the specific library's branch from the JSON map before passing it toload-binary.sh. Also extracts theagentbranch separately for properAGENT_TARGET_BRANCHenv var support. Renamed input from_system_tests_library_target_branchto_system_tests_library_target_branch_map. Removed legacy plain-string backward compatibility (not needed since this is a private_system_testsparameter).compute_libraries_and_scenarios.yml: Exposed the newtarget-branch-mapandhas-target-branchoutputs.system-tests.yml: Renamed input from_system_tests_library_target_branchto_system_tests_library_target_branch_map.ci.yml: Updated the "Fail if target branch is specified" check to use the newhas-target-branchoutput. Updated to use renamedtarget-branch-mapoutput and_system_tests_library_target_branch_mapinput.docs/CI/github-actions.md: Updated parameter documentation.Examples
My PR [java@branch1]{"java":"branch1"}My PR [java@b1][dotnet@b2]{"java":"b1","dotnet":"b2"}My PR [java@b1][golang@b2][ruby@b3]{"java":"b1","golang":"b2","ruby":"b3"}My PR(no override)Proven in CI
This logic has been validated in PR #6466, which uses 7 simultaneous branch overrides:
[java@brian.marks/add-ksr-tag][dotnet@brian.marks/add-ksr-tag][ruby@brian.marks/add-ksr-tag][nodejs@brian.marks/add-ksr-tag][cpp@brian.marks/fix-ksr-formatting][rust@brian.marks/add-ksr-tag][golang@brian.marks/fix-ksr-default]Workflow
🚀 Once your PR is reviewed and the CI green, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist
tests/ormanifests/is modified ? I have the approval from R&P teambuild-XXX-imagelabel is present🤖 Generated with Claude Code