Как остановить сборку действий на GitHub при сбое сканирования SonarQube

#sonarqube #github-actions

Вопрос:

У меня есть шаг сканирования, встроенный в мою сборку действий на GitHub, и он работает нормально. Я обращаюсь к экземпляру SonarQub моей компании, и сканирование инициируется. Проблема, с которой я сталкиваюсь, заключается в попытке остановить сборку в случае сбоя. Ни за что на свете я не могу найти способ сделать это. Кроме того, когда я смотрю сканирование, кажется, что следующие шаги могут произойти до его завершения (не уверен в этом, но подумал, что я упомяну об этом). Есть какие-нибудь идеи??

 name: Build, test, amp; deploy
on: [push]
jobs:
  sonarqube:
      runs-on: ubuntu-latest
      steps:
      - uses: actions/checkout@v2
        with:
          # Disabling shallow clone is recommended for improving relevancy of reporting
          fetch-depth: 0
        # Triggering SonarQube analysis as results of it are required by Quality Gate check
      - name: SonarQube Scan
        uses: sonarsource/sonarqube-scan-action@master
        env:
          SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
          SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
      - name: SonarQube Quality Gate check
        uses: sonarsource/sonarqube-quality-gate-action@master
        # Force to fail step after specific time
        timeout-minutes: 5
        env:
         SONAR_TOKEN: ${{ secrets.ADAM_SONAR_TOKEN }}
  build:
    name:  Project build amp; package
    if: "!contains(github.even.head_commit.message, '[skip-ci]')"
    runs-on: ubuntu-latest
    env:
      #environment var for this job
      #### the rest of the build is below this area - I didn't think it was necessary to include

 

Комментарии:

1. docs.sonarqube.org/latest/analysis/github-integration «Сбой в работе трубопровода, когда отказывает контроль качества»

Ответ №1:

Ответ заключается в использовании «потребностей»: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idneeds