From 4c4b163a767d4937a537f15561cfea52e55d9f62 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 11:31:55 +0200 Subject: [PATCH 1/7] preview_comment.yaml: Output change list so it can be used from action output report if it wasn't used as a PR comment --- .github/workflows/preview_comment.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index 5129cdd992..eb93db3339 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -40,6 +40,8 @@ jobs: par_change_list=$(echo "$par_change_list" | sed '1d' | sed 's|§E§|\\E|g') change_count=$(( $(echo "$md_change_list" | wc -l) + $(echo "$par_change_list" | wc -l) )) + echo -e "$md_change_list\n$par_change_list" + if [[ -z "$md_change_list$par_change_list" ]] ; then comment="Preview of modified files: no change to preview." elif [[ $change_count -gt $file_limit ]] ; then From e842a10473aa121df7c51ac1fa2c8beedbf1eea3 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 11:32:22 +0200 Subject: [PATCH 2/7] preview_comment.yaml: Fix "greater than" HTML entity --- .github/workflows/preview_comment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index eb93db3339..a98df7eaa8 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -45,7 +45,7 @@ jobs: if [[ -z "$md_change_list$par_change_list" ]] ; then comment="Preview of modified files: no change to preview." elif [[ $change_count -gt $file_limit ]] ; then - comment="Preview of modified files: Too many files modified in a single PR, preview link list is skipped. ($change_count files >h; $file_limit)" + comment="Preview of modified files: Too many files modified in a single PR, preview link list is skipped. ($change_count files > $file_limit)" else comment="# Preview of modified files" if [[ -n "$md_change_list" ]]; then From 419c9457f3469411187622118a525e904e888556 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 11:41:12 +0200 Subject: [PATCH 3/7] preview_comment.yaml: Remove namespaces if too long --- .github/workflows/preview_comment.yaml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index a98df7eaa8..f913b9c6da 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -42,9 +42,14 @@ jobs: echo -e "$md_change_list\n$par_change_list" - if [[ -z "$md_change_list$par_change_list" ]] ; then + if [[ $change_count -gt $file_limit ]]; then + par_change_list=$(echo "$par_change_list" | grep -v namespaces) + change_count=$(( $(echo "$md_change_list" | wc -l) + $(echo "$par_change_list" | wc -l) )) + fi + + if [[ -z "$md_change_list$par_change_list" ]]; then comment="Preview of modified files: no change to preview." - elif [[ $change_count -gt $file_limit ]] ; then + elif [[ $change_count -gt $file_limit ]]; then comment="Preview of modified files: Too many files modified in a single PR, preview link list is skipped. ($change_count files > $file_limit)" else comment="# Preview of modified files" From 61ed908c8ff12729f04e8a0cb55d645cd9e8c3d8 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 11:41:56 +0200 Subject: [PATCH 4/7] preview_comment.yaml: sort PHP API Ref links --- .github/workflows/preview_comment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index f913b9c6da..60c6f5b1aa 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -37,7 +37,7 @@ jobs: link=$(echo $par_file | sed -E "s|^docs/(.*\.html)$|- [\`${fqcn}\`](${build_url}\1)|") par_change_list=$(echo -e "$par_change_list\n$link") done - par_change_list=$(echo "$par_change_list" | sed '1d' | sed 's|§E§|\\E|g') + par_change_list=$(echo "$par_change_list" | sed '1d' | sort | sed 's|§E§|\\E|g') change_count=$(( $(echo "$md_change_list" | wc -l) + $(echo "$par_change_list" | wc -l) )) echo -e "$md_change_list\n$par_change_list" From 641c3971379e942d73049354dad7b684bf63136c Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 12:43:30 +0200 Subject: [PATCH 5/7] preview_comment.yaml: sort PHP API Ref links better --- .github/workflows/preview_comment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index 60c6f5b1aa..0b4a7e1a9e 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -37,7 +37,7 @@ jobs: link=$(echo $par_file | sed -E "s|^docs/(.*\.html)$|- [\`${fqcn}\`](${build_url}\1)|") par_change_list=$(echo -e "$par_change_list\n$link") done - par_change_list=$(echo "$par_change_list" | sed '1d' | sort | sed 's|§E§|\\E|g') + par_change_list=$(echo "$par_change_list" | sed '1d' | sort -t '`' -k 2,2 | sed 's|§E§|\\E|g') change_count=$(( $(echo "$md_change_list" | wc -l) + $(echo "$par_change_list" | wc -l) )) echo -e "$md_change_list\n$par_change_list" From 6023aa980a4dee7f3911888a3591860326a86070 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 15:00:49 +0200 Subject: [PATCH 6/7] preview_comment.yaml: Rewrite ESC \E bug fix --- .github/workflows/preview_comment.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index 0b4a7e1a9e..5a7cd23b47 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -33,14 +33,14 @@ jobs: md_change_list=$(git diff --name-only HEAD "origin/$GITHUB_BASE_REF" -- docs/ | grep -E "^docs\/.*\.md$" | sed -E "s|^docs/(.*)\.md$|- [docs/\1.md](${build_url}\1/)|") par_change_list=''; for par_file in $(git diff --diff-filter=A --name-only "origin/$GITHUB_BASE_REF" HEAD -- docs/api/php_api/php_api_reference/ | grep -E '^docs\/.*\.html$'); do - fqcn=$(grep -o 'data-copy-value=".*">Copy FQCN' $par_file | sed 's|E|§E§|' | sed -E 's|data-copy-value="(.*)">.*|\1|' | sed 's|\\|\\\\|g') + fqcn=$(grep -o 'data-copy-value=".*">Copy FQCN' $par_file | sed -E 's|data-copy-value="(.*)">.*|\1|' | sed 's|\\|\\\\|g') link=$(echo $par_file | sed -E "s|^docs/(.*\.html)$|- [\`${fqcn}\`](${build_url}\1)|") par_change_list=$(echo -e "$par_change_list\n$link") done - par_change_list=$(echo "$par_change_list" | sed '1d' | sort -t '`' -k 2,2 | sed 's|§E§|\\E|g') + par_change_list=$(echo "$par_change_list" | sed '1d' | sort -t '`' -k 2,2) change_count=$(( $(echo "$md_change_list" | wc -l) + $(echo "$par_change_list" | wc -l) )) - echo -e "$md_change_list\n$par_change_list" + echo -e "$md_change_list\n$par_change_list" | perl -p -e 's/\e/\\E/g' if [[ $change_count -gt $file_limit ]]; then par_change_list=$(echo "$par_change_list" | grep -v namespaces) @@ -61,7 +61,7 @@ jobs: fi fi - echo -e "$comment" > comment.md + echo -e "$comment" | perl -p -e 's/\e/\\E/g' > comment.md - name: Find comment id: find-comment From 532ace3fa3e59dacc94bc6a01be1361992936752 Mon Sep 17 00:00:00 2001 From: Adrien Dupuis <61695653+adriendupuis@users.noreply.github.com> Date: Thu, 5 Jun 2025 15:01:21 +0200 Subject: [PATCH 7/7] preview_comment.yaml: format stdout --- .github/workflows/preview_comment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/preview_comment.yaml b/.github/workflows/preview_comment.yaml index 5a7cd23b47..046184b6f2 100644 --- a/.github/workflows/preview_comment.yaml +++ b/.github/workflows/preview_comment.yaml @@ -40,7 +40,7 @@ jobs: par_change_list=$(echo "$par_change_list" | sed '1d' | sort -t '`' -k 2,2) change_count=$(( $(echo "$md_change_list" | wc -l) + $(echo "$par_change_list" | wc -l) )) - echo -e "$md_change_list\n$par_change_list" | perl -p -e 's/\e/\\E/g' + echo -e "Markdown files:\n$md_change_list\n\nPHP API Ref.:\n$par_change_list" | perl -p -e 's/\e/\\E/g' if [[ $change_count -gt $file_limit ]]; then par_change_list=$(echo "$par_change_list" | grep -v namespaces)