From 10315ee17849ed1d5e600182786af1f07ce1ee52 Mon Sep 17 00:00:00 2001 From: Nils Werner Date: Thu, 20 Nov 2025 08:23:49 +0100 Subject: [PATCH 1/2] Add rspec-branch input to update-rule-metadata action --- update-rule-metadata/README.md | 2 ++ update-rule-metadata/action.yml | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/update-rule-metadata/README.md b/update-rule-metadata/README.md index 6721473f..c93e1bed 100644 --- a/update-rule-metadata/README.md +++ b/update-rule-metadata/README.md @@ -26,6 +26,7 @@ This action depends on: | `rule-api-version` | Version of the rule-api tooling to be used for the workflow. | No | `2.15.0.4476` | | `sonarpedia-files` | Comma-separated list of sonarpedia files to be updated. By default, it will update all Sonarpedia files in the repository. | No | Auto-discovered | | `branch` | Branch to run the check against and create the PR for. By default, it will use master. | No | `master` | +| `rspec-branch` | Branch of the rspec repository to be used. If not specified, the `master` branch will be used by default. | No | `master` | ## Outputs @@ -97,6 +98,7 @@ jobs: rule-api-version: '2.16.0.5000' sonarpedia-files: 'frontend/java/sonarpedia.json,frontend/csharp/sonarpedia.json' branch: 'develop' + rspec-branch: 'feature/my-rspec-branch' ``` ## Implementation Details diff --git a/update-rule-metadata/action.yml b/update-rule-metadata/action.yml index 548b1452..534a4e03 100644 --- a/update-rule-metadata/action.yml +++ b/update-rule-metadata/action.yml @@ -14,6 +14,11 @@ inputs: description: | Branch to run the check against and create the PR for. default: master + rspec-branch: + description: | + Branch of the rspec repository to be used. + If not specified, the 'master' branch of the rspec repository will be used. + default: master outputs: has-changes: @@ -133,8 +138,10 @@ runs: # Calculate relative path to rule-api.jar from current directory rel_path=$(realpath --relative-to="$PWD" "$original_dir/rule-api.jar") + from_branch="${{ inputs.rspec-branch }}" + # Run rule-api update in the current directory - java -jar "$rel_path" update 2>&1 | tee -a $log_file + java -jar "$rel_path" update -branch "$from_branch" 2>&1 | tee -a $log_file # Return to the original directory cd "$original_dir" From c58d3be1afb72011a1a86e710a08543301a72db9 Mon Sep 17 00:00:00 2001 From: Nils Werner Date: Thu, 20 Nov 2025 16:23:48 +0100 Subject: [PATCH 2/2] Run rule-api generate if rspec-branch is set and not master, else run update --- update-rule-metadata/action.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/update-rule-metadata/action.yml b/update-rule-metadata/action.yml index 534a4e03..8ea9ef36 100644 --- a/update-rule-metadata/action.yml +++ b/update-rule-metadata/action.yml @@ -140,8 +140,14 @@ runs: from_branch="${{ inputs.rspec-branch }}" - # Run rule-api update in the current directory - java -jar "$rel_path" update -branch "$from_branch" 2>&1 | tee -a $log_file + # Run rule-api generate if rspec-branch is set and not master, else run update + if [[ "$from_branch" != "" && "$from_branch" != "master" ]]; then + echo "Running rule-api generate from branch '$from_branch'" >> $log_file + java -jar "$rel_path" generate -branch "$from_branch" 2>&1 | tee -a $log_file + else + echo "Running rule-api update" >> $log_file + java -jar "$rel_path" update 2>&1 | tee -a $log_file + fi # Return to the original directory cd "$original_dir"