Skip to content

Commit eac4c2a

Browse files
committed
CQ-982 : Updated the GitHub action for supporting new remote analysis flow
1 parent 5b76d7e commit eac4c2a

1 file changed

Lines changed: 38 additions & 1 deletion

File tree

action.yml

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,23 @@ inputs:
4141
description: 'Enable verbose logging'
4242
required: false
4343
default: 'true'
44+
qualityGate:
45+
description: 'Enable quality gate checking'
46+
required: false
47+
default: 'false'
4448
continueOnError:
4549
description: 'Continue workflow execution even if scan fails'
4650
required: false
4751
default: 'true'
4852
outputs:
4953
status:
5054
description: 'Status of the scan'
55+
qualityGateStatus:
56+
description: 'Quality gate status (PASSED/FAILED)'
57+
value: ${{ steps.quality-gate.outputs.status }}
58+
qualityGateData:
59+
description: 'Quality gate detailed data'
60+
value: ${{ steps.quality-gate.outputs.data }}
5161
runs:
5262
using: 'composite'
5363
steps:
@@ -80,11 +90,38 @@ runs:
8090
VERBOSE_FLAG="-v"
8191
fi
8292
93+
QG_FLAG=""
94+
if [ "${{ inputs.qualityGate }}" = "true" ]; then
95+
QG_FLAG="-qg"
96+
fi
97+
8398
./browserstack-codequality-scanner/bin/embold-scanner analyse \
8499
-u "${{ inputs.emboldUrl }}" \
85100
-t "$EMBOLD_TOKEN" \
86101
-r "${{ inputs.emboldRepoUid }}" \
87102
-c "${{ inputs.repositoryConfigPath }}" \
88103
-d "${{ inputs.tempDirectory }}" \
89104
-b "${{ inputs.baseDirectory }}" \
90-
$VERBOSE_FLAG
105+
$VERBOSE_FLAG \
106+
$QG_FLAG
107+
108+
- name: Get Quality Gate Status
109+
if: ${{ inputs.qualityGate == 'true' }}
110+
id: quality-gate
111+
shell: bash
112+
env:
113+
EMBOLD_TOKEN: ${{ inputs.emboldToken }}
114+
run: |
115+
echo "Fetching quality gate status..."
116+
117+
response=$(curl --silent --http1.1 -X GET \
118+
"${{ inputs.emboldUrl }}/api/v1/repositories/${{ inputs.emboldRepoUid }}/qualitygateprofiles/status" \
119+
-H "Authorization: Bearer $EMBOLD_TOKEN")
120+
121+
status=$(echo "$response" | grep -o '"status":"[^"]*"' | cut -d'"' -f4)
122+
123+
echo "Quality Gate Status: $status"
124+
echo "status=$status" >> $GITHUB_OUTPUT
125+
echo "data=$response" >> $GITHUB_OUTPUT
126+
127+
echo "::notice title=Quality Gate::Status: $status"

0 commit comments

Comments
 (0)