diff --git a/README.md b/README.md index 7026298e..8cff1ade 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ ## Возможности -1. Все шаги можно запустить на базе docker-образов из https://github.com/firstBitSemenovskaya/onec-docker. См. [памятку по слоям и последовательности сборки](https://github.com/firstBitSemenovskaya/onec-docker/blob/feature/first-bit/Layers.md). +1. Все шаги можно запустить на базе docker-образов из https://github.com/firstBitMarksistskaya/onec-docker. См. [памятку по слоям и последовательности сборки](https://github.com/firstBitMarksistskaya/onec-docker/blob/feature/first-bit/Layers.md). 1. Поддержка как формата выгрузки из Конфигуратора, так и формата EDT. 1. Подготовка информационной базы по версии из хранилища конфигурации, из исходных файлов конфигурации, комбинированный режим (основная ветка - из хранилища, остальные - из исходников). 1. Запуск ИБ в режиме выполнения обработчиков обновления БСП. @@ -83,7 +83,7 @@ pipeline1C() ```json { - "$schema": "https://raw.githubusercontent.com/firstBitSemenovskaya/jenkins-lib/master/resources/schema.json", + "$schema": "https://raw.githubusercontent.com/firstBitMarksistskaya/jenkins-lib/master/resources/schema.json", "v8version": "8.3.14.1976", "edtVersion": "2021.3.4:x86_64", "secrets": { @@ -164,4 +164,4 @@ pipeline1C() * при нестабильной сборке (упавшие тесты) - разработчики и запустивший сборку. * Прямые получатели уведомлений не заполнены (`notifications` -> `email` -> `*options` -> `directRecipients`). * Telegram: - * Уведомления о результатах сборки по умолчанию рассылаются всегда (`notifications` -> `telegram` -> `onAlways`, `onFailure`, `onUnstable`, `onSuccess`). \ No newline at end of file + * Уведомления о результатах сборки по умолчанию рассылаются всегда (`notifications` -> `telegram` -> `onAlways`, `onFailure`, `onUnstable`, `onSuccess`). diff --git a/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy b/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy index c9587a85..a7f2c1c8 100644 --- a/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy +++ b/src/ru/pulsar/jenkins/library/configuration/ConfigurationReader.groovy @@ -79,6 +79,7 @@ class ConfigurationReader implements Serializable { mergeObjects(baseConfiguration, configurationToMerge, nonMergeableSettings) mergeInitInfoBaseOptions(baseConfiguration.initInfoBaseOptions, configurationToMerge.initInfoBaseOptions) mergeBddOptions(baseConfiguration.bddOptions, configurationToMerge.bddOptions) + mergeSyntaxCheckOptions(baseConfiguration.syntaxCheckOptions, configurationToMerge.syntaxCheckOptions) mergeNotificationsOptions(baseConfiguration.notificationsOptions, configurationToMerge.notificationsOptions) return baseConfiguration; @@ -126,6 +127,13 @@ class ConfigurationReader implements Serializable { baseObject.vrunnerSteps = objectToMerge.vrunnerSteps.clone() } + @NonCPS + private static void mergeSyntaxCheckOptions(SyntaxCheckOptions baseObject, SyntaxCheckOptions objectToMerge) { + if (objectToMerge == null || objectToMerge.checkModes == null) { + return + } + baseObject.checkModes = objectToMerge.checkModes.clone() + } private static void mergeNotificationsOptions(NotificationsOptions baseObject, NotificationsOptions objectToMerge) { if (objectToMerge == null) { diff --git a/src/ru/pulsar/jenkins/library/steps/PublishAllure.groovy b/src/ru/pulsar/jenkins/library/steps/PublishAllure.groovy index 3e374e65..aaf7046c 100644 --- a/src/ru/pulsar/jenkins/library/steps/PublishAllure.groovy +++ b/src/ru/pulsar/jenkins/library/steps/PublishAllure.groovy @@ -27,8 +27,12 @@ class PublishAllure implements Serializable { steps = ContextRegistry.getContext().getStepExecutor() - safeUnstash('init-allure') - safeUnstash('bdd-allure') + if (config.stageFlags.initSteps) { + safeUnstash('init-allure') + } + if (config.stageFlags.bdd) { + safeUnstash('bdd-allure') + } if (config.stageFlags.smoke && config.smokeTestOptions.publishToAllureReport) { safeUnstash(SmokeTest.SMOKE_ALLURE_STASH) } diff --git a/src/ru/pulsar/jenkins/library/steps/SmokeTest.groovy b/src/ru/pulsar/jenkins/library/steps/SmokeTest.groovy index 00998e4c..6b1f946b 100644 --- a/src/ru/pulsar/jenkins/library/steps/SmokeTest.groovy +++ b/src/ru/pulsar/jenkins/library/steps/SmokeTest.groovy @@ -101,7 +101,7 @@ class SmokeTest implements Serializable { } steps.withEnv(logosConfig) { - VRunner.exec(command) + VRunner.exec(command, true) } if (options.publishToAllureReport) { diff --git a/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java b/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java index 35fd8219..89c46ad3 100644 --- a/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java +++ b/test/unit/groovy/ru/pulsar/jenkins/library/configuration/ConfigurationReaderTest.java @@ -45,7 +45,7 @@ void testCreateJobConfigurationObject() throws IOException { .hasFieldOrPropertyWithValue("storagePath", "UNKNOWN_ID") ; - assertThat(jobConfiguration.getSyntaxCheckOptions().getCheckModes()).hasSize(1); + assertThat(jobConfiguration.getSyntaxCheckOptions().getCheckModes()).hasSize(4); assertThat(jobConfiguration.getResultsTransformOptions().getRemoveSupport()).isFalse(); assertThat(jobConfiguration.getResultsTransformOptions().getSupportLevel()).isZero(); diff --git a/test/unit/resources/jobConfiguration.json b/test/unit/resources/jobConfiguration.json index fbf6f883..b49569d0 100644 --- a/test/unit/resources/jobConfiguration.json +++ b/test/unit/resources/jobConfiguration.json @@ -21,7 +21,12 @@ "branchAnalysisConfiguration": "auto" }, "syntaxCheck": { - "checkModes": ["-ThinClient"] + "checkModes": [ + "-ThickClient", + "-ThinClient", + "-WebClient", + "-Server" + ] }, "resultsTransform": { "removeSupport": false