@@ -31,20 +31,21 @@ jobs:
3131 - name : Checkout PR branch
3232 uses : actions/checkout@v2
3333
34- - name : Missing docs warnings (PR)
35- id : missing_docs_warnings_pr
36- run : |
37- cargo -q clippy --message-format=short -- \
38- -Aclippy::all \
39- -Wclippy::missing_errors_doc \
40- -Wclippy::missing_panics_doc \
41- -Wclippy::missing_safety_doc \
42- -Wclippy::missing_docs_in_private_items \
43- -Wmissing_docs \
44- 2>&1 \
45- | awk -F"[\` ]" \
46- '/warning: `.+?` \(lib\) generated [0-9]+ warning[s]?/ { print $3 ": " $7 }' \
47- | sort
34+ # - name: Missing docs warnings (PR)
35+ # id: missing_docs_warnings_pr
36+ # run: |
37+ # cargo -q clippy --message-format=short -- \
38+ # -Aclippy::all \
39+ # -Wclippy::missing_errors_doc \
40+ # -Wclippy::missing_panics_doc \
41+ # -Wclippy::missing_safety_doc \
42+ # -Wclippy::missing_docs_in_private_items \
43+ # -Wmissing_docs \
44+ # 2>&1 \
45+ # | awk -F"[\` ]" \
46+ # '/warning: `.+?` \(lib\) generated [0-9]+ warning[s]?/ { print $3 ": " $7 }' \
47+ # | sort \
48+ # | echo
4849
4950 - name : Checkout target branch
5051 uses : actions/checkout@v2
@@ -54,20 +55,52 @@ jobs:
5455 - name : Missing docs warnings (Target)
5556 id : missing_docs_warnings_target
5657 run : |
57- cargo -q clippy --message-format=short -- \
58- -Aclippy::all \
59- -Wclippy::missing_errors_doc \
60- -Wclippy::missing_panics_doc \
61- -Wclippy::missing_safety_doc \
62- -Wclippy::missing_docs_in_private_items \
63- -Wmissing_docs \
64- 2>&1 \
65- | awk -F"[\` ]" \
66- '/warning: `.+?` \(lib\) generated [0-9]+ warning[s]?/ { print $3 ": " $7 }' \
67- | sort
58+ # use a random EOF, as per GitHub security recommendations
59+ EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64)
60+ WARNINGS0=$(\
61+ cargo -q clippy --message-format=short -- \
62+ -Aclippy::all \
63+ -Wclippy::missing_errors_doc \
64+ -Wclippy::missing_panics_doc \
65+ -Wclippy::missing_safety_doc \
66+ -Wclippy::missing_docs_in_private_items \
67+ -Wmissing_docs \
68+ 2>&1)
69+ AWKSTR='/warning: `.+`/ { print $0 }'
70+ WARNINGS1=$(echo "$WARNINGS0" | awk "$AWKSTR")
71+ WARNINGS="$(\
72+ cargo -q clippy --message-format=short -- \
73+ -Aclippy::all \
74+ -Wclippy::missing_errors_doc \
75+ -Wclippy::missing_panics_doc \
76+ -Wclippy::missing_safety_doc \
77+ -Wclippy::missing_docs_in_private_items \
78+ -Wmissing_docs \
79+ 2>&1 \
80+ | awk -F"[\` ]" \
81+ '/warning: `.+` \(lib\) generated [0-9]+ warnings?/ { print $3 ": " $7 }' \
82+ | sort)"
83+ echo "TARGET_WARNINGS<<$EOF" >> "$GITHUB_OUTPUT"
84+ echo "$WARNINGS" >> "$GITHUB_OUTPUT"
85+ echo "$EOF" >> "$GITHUB_OUTPUT"
86+ echo "abc"
87+ echo "${WARNINGS}"
88+ echo "$WARNINGS"
89+ WARNINGS="ABCDEF"
90+ echo "${WARNINGS}"
91+ echo "$WARNINGS"
92+ echo "${WARNINGS0}"
93+ echo "$AWKSTR"
94+ echo "${WARNINGS1}"
95+ echo "0000"
96+ echo "$WARNINGS0" | awk "$AWKSTR"
6897
6998 - name : Compare comment coverage
7099 run : |
100+ echo "test abc"
101+ echo "${{ env.target_warnings }}"
102+ echo "${{ env.TARGET_WARNINGS }}"
103+ echo "${{ steps.missing_docs_warnings_target.outputs.TARGET_WARNINGS }}"
71104 IFS=$'\n' read -rd '' -a missing_docs_warnings_pr_arr <<< "${{steps.missing_docs_warnings_pr.outcome}}"
72105 IFS=$'\n' read -rd '' -a missing_docs_warnings_target_arr <<< "${{steps.missing_docs_warnings_target.outcome}}"
73106 for pr_warnings_line in "${missing_docs_warnings_pr_arr[@]}"
0 commit comments