From 783faaaee774633794055d56730f6e281d8e25e6 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 29 Jun 2026 15:25:10 +0000
Subject: [PATCH 1/3] Initial plan
From 1aacc08d0d97ca82cc2a421bc336ce250a10e334 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 29 Jun 2026 15:29:16 +0000
Subject: [PATCH 2/3] Remove Java JaCoCo badge automation
Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com>
---
.github/badges/jacoco-generated.svg | 18 ---
.github/badges/jacoco-handwritten.svg | 18 ---
.../scripts/generate-java-coverage-badge.sh | 104 ------------------
.github/workflows/java-sdk-tests.yml | 16 ---
4 files changed, 156 deletions(-)
delete mode 100644 .github/badges/jacoco-generated.svg
delete mode 100644 .github/badges/jacoco-handwritten.svg
delete mode 100755 .github/scripts/generate-java-coverage-badge.sh
diff --git a/.github/badges/jacoco-generated.svg b/.github/badges/jacoco-generated.svg
deleted file mode 100644
index bd7223a65f..0000000000
--- a/.github/badges/jacoco-generated.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/.github/badges/jacoco-handwritten.svg b/.github/badges/jacoco-handwritten.svg
deleted file mode 100644
index bfb6196f68..0000000000
--- a/.github/badges/jacoco-handwritten.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
diff --git a/.github/scripts/generate-java-coverage-badge.sh b/.github/scripts/generate-java-coverage-badge.sh
deleted file mode 100755
index 3c68d830d5..0000000000
--- a/.github/scripts/generate-java-coverage-badge.sh
+++ /dev/null
@@ -1,104 +0,0 @@
-#!/usr/bin/env bash
-# Generates SVG coverage badges from a JaCoCo CSV report.
-#
-# Usage: generate-coverage-badge.sh [jacoco.csv] [output-dir]
-# jacoco.csv - Path to JaCoCo CSV report (default: target/site/jacoco-coverage/jacoco.csv)
-# output-dir - Directory for the badge SVG (default: .github/badges)
-set -euo pipefail
-
-CSV="${1:-target/site/jacoco-coverage/jacoco.csv}"
-BADGES_DIR="${2:-.github/badges}"
-GENERATED_PREFIX="com.github.copilot.generated"
-
-if [ ! -f "$CSV" ]; then
- echo "⚠️ No JaCoCo CSV report found at $CSV"
- exit 0
-fi
-
-calc_totals() {
- local scope=$1
- awk -F',' -v scope="$scope" -v generated_prefix="$GENERATED_PREFIX" '
- NR > 1 {
- is_generated = index($2, generated_prefix) == 1
- if (scope == "overall" ||
- (scope == "generated" && is_generated) ||
- (scope == "handwritten" && !is_generated)) {
- missed += $4
- covered += $5
- }
- }
- END { print missed + 0, covered + 0 }
- ' "$CSV"
-}
-
-format_pct() {
- local missed=$1
- local covered=$2
- local total=$((missed + covered))
- if [ "$total" -eq 0 ]; then
- echo "0"
- else
- awk "BEGIN { printf \"%.1f\", ($covered / $total) * 100 }" | sed 's/\.0$//'
- fi
-}
-
-pick_color() {
- local pct=$1
- local color="#e05d44" # red <60
- if awk "BEGIN{exit!($pct>=100)}"; then color="#4c1" # bright green
- elif awk "BEGIN{exit!($pct>=90)}"; then color="#97ca00" # green
- elif awk "BEGIN{exit!($pct>=80)}"; then color="#a4a61d" # yellow-green
- elif awk "BEGIN{exit!($pct>=70)}"; then color="#dfb317" # yellow
- elif awk "BEGIN{exit!($pct>=60)}"; then color="#fe7d37" # orange
- fi
- echo "$color"
-}
-
-generate_badge() {
- local label=$1
- local value=$2
- local output=$3
- local pct=${value%\%}
- local color
- color=$(pick_color "$pct")
- local lw=$(( ${#label} * 7 + 12 ))
- local vw=$(( ${#value} * 7 + 16 ))
- local tw=$((lw + vw))
-
- cat > "$output" <
-
-
-
-
-
-
-
-
-
-
-
- ${label}
- ${label}
- ${value}
- ${value}
-
-
-EOF
-}
-
-mkdir -p "$BADGES_DIR"
-
-read -r handwritten_missed handwritten_covered <<< "$(calc_totals handwritten)"
-read -r generated_missed generated_covered <<< "$(calc_totals generated)"
-
-handwritten_pct=$(format_pct "$handwritten_missed" "$handwritten_covered")
-generated_pct=$(format_pct "$generated_missed" "$generated_covered")
-
-echo "Handwritten coverage: ${handwritten_pct}%"
-echo "Generated coverage: ${generated_pct}%"
-
-generate_badge "coverage handwritten" "${handwritten_pct}%" "${BADGES_DIR}/jacoco-handwritten.svg"
-generate_badge "coverage generated" "${generated_pct}%" "${BADGES_DIR}/jacoco-generated.svg"
-
-echo "Badges generated in ${BADGES_DIR}"
diff --git a/.github/workflows/java-sdk-tests.yml b/.github/workflows/java-sdk-tests.yml
index e310fa8ba1..50266820f6 100644
--- a/.github/workflows/java-sdk-tests.yml
+++ b/.github/workflows/java-sdk-tests.yml
@@ -117,22 +117,6 @@ jobs:
java/target/surefire-reports-isolated/
retention-days: 1
- - name: Generate JaCoCo badge
- if: success() && github.ref == 'refs/heads/main' && matrix.test-jdk == '25'
- working-directory: .
- run: bash .github/scripts/generate-java-coverage-badge.sh java/target/site/jacoco-coverage/jacoco.csv .github/badges
-
- - name: Create PR for JaCoCo badge update
- if: success() && github.ref == 'refs/heads/main' && matrix.test-jdk == '25'
- uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v7
- with:
- commit-message: "Update Java JaCoCo coverage badge"
- title: "Update Java JaCoCo coverage badge"
- body: "Automated Java JaCoCo coverage badge update from CI."
- branch: auto/update-java-jacoco-badge
- add-paths: .github/badges/
- delete-branch: true
-
- name: Generate Test Report Summary
if: always()
uses: ./.github/actions/java-test-report
From 1cb1011aa603b05ad2780dc918ddf286b42517c5 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Mon, 29 Jun 2026 15:42:34 +0000
Subject: [PATCH 3/3] chore: scope workflow permissions to contents: read
Co-authored-by: brunoborges <129743+brunoborges@users.noreply.github.com>
---
.github/workflows/java-sdk-tests.yml | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/.github/workflows/java-sdk-tests.yml b/.github/workflows/java-sdk-tests.yml
index 50266820f6..d1dd9c63e5 100644
--- a/.github/workflows/java-sdk-tests.yml
+++ b/.github/workflows/java-sdk-tests.yml
@@ -31,9 +31,7 @@ on:
merge_group:
permissions:
- contents: write
- checks: write
- pull-requests: write
+ contents: read
jobs:
java-sdk: