From 44eca2f183d19b48d961328f16f7853727f4c9e3 Mon Sep 17 00:00:00 2001 From: Jonathan Serafini Date: Tue, 28 Jan 2025 21:16:45 -0500 Subject: [PATCH] add support for scan triggers --- .github/scripts/gitlab | 16 ++++++++-------- scanner.yml | 8 +++++++- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/.github/scripts/gitlab b/.github/scripts/gitlab index fafa6ab..ad452d6 100755 --- a/.github/scripts/gitlab +++ b/.github/scripts/gitlab @@ -74,7 +74,9 @@ del.merge_request.id () get.commit.status () { # $1=project, $2=sha api "GET" "projects/${1}/repository/commits/${2}/statuses" \ - | jq -r '.[].status' + | jq -r '.[].status' \ + | head -n 1 \ + | tr -d '[:space:]' } poll.commit.status () @@ -83,19 +85,17 @@ poll.commit.status () local status laststatus let attempt+=1 - laststatus="pending" while true; do attempt=$(($attempt + 1)) - status=$(get.commit.status "${1}" "${2}") + status=$(echo $(get.commit.status "${1}" "${2}")) - info "polling commit status: ${attempt} or ${POLL_ATTEMPTS}" - - if [ "${status}" != "${laststatus}" ]; then - info "- pipeline in ${status:-$laststatus}" + info "polling commit status: ${attempt}" + if [ "${status:-}" != "${laststatus:-}" ]; then + info "- pipeline in ${status:-none} was ${laststatus:-none}" fi - case "${status}" in + case "${status:-}" in success) return 0 ;; failed) return 1 ;; canceled) return 1 ;; diff --git a/scanner.yml b/scanner.yml index 8b7b04c..654fbb0 100644 --- a/scanner.yml +++ b/scanner.yml @@ -30,6 +30,12 @@ export BOOST_DOWNLOAD_URL=${BOOST_DOWNLOAD_URL:-${BOOST_CLI_URL}/boost-cli/get-boost-cli} export BOOST_LOG_COLORS="true" + + if [ -n "${BOOST_TRIGGER_ID:-}" ]; then + export BOOST_SCAN_MODE="trigger" + else + export BOOST_SCAN_MODE="repo" + fi } boost_init_cli () { @@ -87,6 +93,6 @@ - .boost_setup - .boost_rules script: - - ${BOOST_EXE} scan repo ${BOOST_CLI_ARGUMENTS:-} + - ${BOOST_EXE} scan ${BOOST_SCAN_MODE} ${BOOST_CLI_ARGUMENTS:-} variables: GIT_DEPTH: 1