From 0ed5ce1e10fedfa018362444e57b4d0807d09274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=8A?= =?UTF-8?q?=D1=80=20=D0=9A=D1=83=D1=80=D1=82=D0=B0=D0=BA=D0=BE=D0=B2?= Date: Mon, 8 Jun 2026 17:42:12 +0300 Subject: [PATCH] Automatically request review --- .github/workflows/licensecheck.yml | 41 ++++++++++++++++-------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/.github/workflows/licensecheck.yml b/.github/workflows/licensecheck.yml index 28bb3d5007..485c9140f9 100644 --- a/.github/workflows/licensecheck.yml +++ b/.github/workflows/licensecheck.yml @@ -107,10 +107,11 @@ jobs: dashLicenseToolJar=$(ls ~/.m2/repository/org/eclipse/dash/org.eclipse.dash.licenses/1.1.0/org.eclipse.dash.licenses-*.jar | tail -n 1) npmArgs=" --no-bin-links --ignore-scripts" dashArgs="-excludeSources local -summary $savePWD/target/dash/npm-review-summary" - exitStatus=0 - if [ ${{ env.request-review }} ]; then - # Add "-project -token " here when a review is required - dashArgs="$dashArgs -review -project $projectId -token $gitlabAPIToken" + reviewArgs="-review -project $projectId -token $gitlabAPIToken" + requestReview="${{ env.request-review }}" + # When a review was requested explicitly (e.g. '/request-license-review' comment), ask for it right away. + if [ "$requestReview" ]; then + dashArgs="$dashArgs $reviewArgs" fi # # Check NPM dependency licenses in main WildWebDeveloper project @@ -118,28 +119,30 @@ jobs: echo "" echo "------ Checking project [org.eclipse.wildwebdeveloper] ------" java -jar $dashLicenseToolJar $dashArgs org.eclipse.wildwebdeveloper/package-lock.json - currentStatus=$? - if [[ $currentStatus != 0 ]]; then - exitStatus=$(($exitStatus + $currentStatus)) # Save for future - fi + exitStatus=$? cd $savePWD - + + # If unvetted content was found and no review was requested yet, request one automatically, + # i.e. re-run the check with '-review' as if a committer had commented '/request-license-review'. + if [[ $exitStatus != 0 && -z "$requestReview" ]]; then + echo "" + echo "Some contents are not vetted - automatically requesting a license review" + requestReview=1 + echo "request-review=1" >> $GITHUB_ENV + java -jar $dashLicenseToolJar $dashArgs $reviewArgs org.eclipse.wildwebdeveloper/package-lock.json + cd $savePWD + fi + echo "" if [[ $exitStatus == 0 ]]; then # All licenses are vetted - # echo "::set-output name=build-succeeded::$(echo 1)" echo "build-succeeded=1" >> $GITHUB_OUTPUT echo "All licenses are vetted" else - # echo "::set-output name=build-succeeded::$(echo 0)" echo "build-succeeded=0" >> $GITHUB_OUTPUT - if [ ${{ env.request-review }} ]; then - echo "Some contents requires a review" - echo "" - echo "The NPM dependency License Check review summary is saved in 'target/dash/npm-review-summary'" - else - echo "Committers can request a review by commenting '/request-license-review'" - exit 1 - fi + echo "Some contents requires a review" + echo "The NPM dependency License Check review summary is saved in 'target/dash/npm-review-summary'" + # Fail the check so the PR is not merged while reviews are pending; re-run once the reviews have concluded. + exit 1 fi echo ""