@@ -31,20 +31,21 @@ jobs:
31
31
- name : Checkout PR branch
32
32
uses : actions/checkout@v2
33
33
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
48
49
49
50
- name : Checkout target branch
50
51
uses : actions/checkout@v2
@@ -54,20 +55,52 @@ jobs:
54
55
- name : Missing docs warnings (Target)
55
56
id : missing_docs_warnings_target
56
57
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"
68
97
69
98
- name : Compare comment coverage
70
99
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 }}"
71
104
IFS=$'\n' read -rd '' -a missing_docs_warnings_pr_arr <<< "${{steps.missing_docs_warnings_pr.outcome}}"
72
105
IFS=$'\n' read -rd '' -a missing_docs_warnings_target_arr <<< "${{steps.missing_docs_warnings_target.outcome}}"
73
106
for pr_warnings_line in "${missing_docs_warnings_pr_arr[@]}"
0 commit comments