Skip to content

Commit 0ed5ce1

Browse files
committed
Automatically request review
1 parent 9039ab7 commit 0ed5ce1

1 file changed

Lines changed: 22 additions & 19 deletions

File tree

.github/workflows/licensecheck.yml

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -107,39 +107,42 @@ jobs:
107107
dashLicenseToolJar=$(ls ~/.m2/repository/org/eclipse/dash/org.eclipse.dash.licenses/1.1.0/org.eclipse.dash.licenses-*.jar | tail -n 1)
108108
npmArgs=" --no-bin-links --ignore-scripts"
109109
dashArgs="-excludeSources local -summary $savePWD/target/dash/npm-review-summary"
110-
exitStatus=0
111-
if [ ${{ env.request-review }} ]; then
112-
# Add "-project <Project Name> -token <Token>" here when a review is required
113-
dashArgs="$dashArgs -review -project $projectId -token $gitlabAPIToken"
110+
reviewArgs="-review -project $projectId -token $gitlabAPIToken"
111+
requestReview="${{ env.request-review }}"
112+
# When a review was requested explicitly (e.g. '/request-license-review' comment), ask for it right away.
113+
if [ "$requestReview" ]; then
114+
dashArgs="$dashArgs $reviewArgs"
114115
fi
115116
#
116117
# Check NPM dependency licenses in main WildWebDeveloper project
117118
#
118119
echo ""
119120
echo "------ Checking project [org.eclipse.wildwebdeveloper] ------"
120121
java -jar $dashLicenseToolJar $dashArgs org.eclipse.wildwebdeveloper/package-lock.json
121-
currentStatus=$?
122-
if [[ $currentStatus != 0 ]]; then
123-
exitStatus=$(($exitStatus + $currentStatus)) # Save for future
124-
fi
122+
exitStatus=$?
125123
cd $savePWD
126-
124+
125+
# If unvetted content was found and no review was requested yet, request one automatically,
126+
# i.e. re-run the check with '-review' as if a committer had commented '/request-license-review'.
127+
if [[ $exitStatus != 0 && -z "$requestReview" ]]; then
128+
echo ""
129+
echo "Some contents are not vetted - automatically requesting a license review"
130+
requestReview=1
131+
echo "request-review=1" >> $GITHUB_ENV
132+
java -jar $dashLicenseToolJar $dashArgs $reviewArgs org.eclipse.wildwebdeveloper/package-lock.json
133+
cd $savePWD
134+
fi
135+
127136
echo ""
128137
if [[ $exitStatus == 0 ]]; then # All licenses are vetted
129-
# echo "::set-output name=build-succeeded::$(echo 1)"
130138
echo "build-succeeded=1" >> $GITHUB_OUTPUT
131139
echo "All licenses are vetted"
132140
else
133-
# echo "::set-output name=build-succeeded::$(echo 0)"
134141
echo "build-succeeded=0" >> $GITHUB_OUTPUT
135-
if [ ${{ env.request-review }} ]; then
136-
echo "Some contents requires a review"
137-
echo ""
138-
echo "The NPM dependency License Check review summary is saved in 'target/dash/npm-review-summary'"
139-
else
140-
echo "Committers can request a review by commenting '/request-license-review'"
141-
exit 1
142-
fi
142+
echo "Some contents requires a review"
143+
echo "The NPM dependency License Check review summary is saved in 'target/dash/npm-review-summary'"
144+
# Fail the check so the PR is not merged while reviews are pending; re-run once the reviews have concluded.
145+
exit 1
143146
fi
144147
echo ""
145148

0 commit comments

Comments
 (0)