ci: рефакторинг пайплайна тестирования #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Проверка Sonar | |
on: | |
- push | |
- pull_request_target | |
jobs: | |
SonarQualityGate: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Извлечение исходников PR | |
if: github.event_name == 'pull_request_target' || github.event_name == 'pull_request' | |
uses: actions/checkout@v4 | |
with: | |
ref: refs/pull/${{ github.event.number }}/merge # Для поддержки pull_request и pull_request_target | |
fetch-depth: 0 # Получение полной истории (все тэги и ветки) | |
- name: Извлечение исходников ветки ${{ github.ref_name }} | |
if: github.event_name == 'push' | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 # Получение полной истории (все тэги и ветки) | |
- name: Извлечение версии проекта | |
uses: ./.github/actions/extract-version | |
with: | |
path: ./exts/yaxunit/src | |
id: extract_version | |
- name: Установка сканера Sonar | |
uses: warchant/setup-sonar-scanner@v8 | |
# Анализ проекта в SonarQube (ветка) | |
- name: Анализ в SonarQube (${{ github.ref_name }}) | |
if: github.event_name == 'push' | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
run: sonar-scanner | |
-Dsonar.host.url=https://sonar.openbsl.ru | |
-Dsonar.branch.name=${{ github.ref_name }} | |
-Dsonar.projectVersion=${{ steps.extract_version.outputs.version }} | |
-Dsonar.qualitygate.wait=true | |
-Dsonar.qualitygate.timeout=300 | |
# Анализ проекта в SonarQube (PR) | |
# https://docs.sonarqube.org/latest/analysis/pull-request/ | |
- name: Анализ в SonarQube (pull-request ${{ github.event.number }}) | |
if: github.event_name == 'pull_request_target' || github.event_name == 'pull_request' | |
env: | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
run: sonar-scanner | |
-Dsonar.host.url=https://sonar.openbsl.ru | |
-Dsonar.pullrequest.key=${{ github.event.pull_request.number }} | |
-Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} | |
-Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} | |
-Dsonar.scm.revision=${{ github.event.pull_request.head.sha }} | |
-Dsonar.qualitygate.wait=true | |
-Dsonar.qualitygate.timeout=300 | |
- name: Публикация результата проверки PR | |
if: github.event_name != 'push' && (success()||failure()) | |
uses: 1CDevFlow/sonar-review-action@main | |
with: | |
sonar_branch_plugin: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |