Commit Graph
28 Commits
Author SHA1 Message Date
Kevin Hudemann fda932aff5 Add capabilities to check for breaking changes in config (#2045)
This change adds the capabilities to check if the user still uses legacy
configuration parameters and allows to fail the pipeline in the
piperPipelineStageInit in case incompatible configuration is found.

Thus, it is now possible to describe breaking changes in the
configuration with the use of a yaml resource file. In this file, one can
describe the changes in configuration, e.g., when a configuration parameter
was replaced or removed. A concrete example for such a file for the Cloud
SDK Pipeline is part of this PR.
2020-09-21 14:29:07 +02:00
Kevin Hudemann a57e3bf0ce Fix runStep condition for mavenExecuteStaticCodeChecks (#2009)
This change fixes the step mavenExecuteStaticCodeChecks to skip execution
if no tool is configured. Previously, the step was executed even when both 
supported tools, i.e., PMD and SpotBugs were disabled.
2020-09-11 16:16:00 +02:00
Kevin Hudemann 37b4af110c Rename frontendUnitTests to additionalUnitTests stage (#2011) 2020-09-11 14:50:09 +02:00
Kevin Hudemann 712d18ce0e Update Cloud SDK docs on linting and static code checks (#1996) 2020-09-09 13:34:08 +02:00
Kevin HudemannandFlorian Wilhelm 8d549a1f6c Add npmExecuteLint and mavenExecuteStaticCodeChecks to build stage (#1985)
This change adds the support for executing maven static code checks and
linting using the mavenExecuteStaticCodeChecks and npmExecuteLint steps
as part of the piperPipelineStageBuild.

Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-09-07 16:57:01 +02:00
Kevin Hudemann 79b522a48b Update Cloud SDK Pipeline docs on linting (#1986)
This change updates the documentation provided for the linting
capabilities of the Cloud SDK Pipeline.
2020-09-07 16:15:07 +02:00
Kevin Hudemann 3caf401b79 Add npmExecuteScripts to piperPipelineStageAdditionalUnitTests (#1978)
This change adds the support for running frontend unit tests using the
npmExecuteScripts step in the piperPipelineStageAdditionalUnitTests.
2020-09-03 13:12:27 +02:00
Kevin HudemannandStephan Aßmus e210c5c40a Extend testsPublishResults step to support publishing of HTML reports (#1976)
This change extends the testsPublishResults step to support publishing
of HTML reports using the HTML publisher plugin. This change is a
preperation for the migration of frontend unit tests as already existing
in the SAP Cloud SDK Pipeline to the
piperPipelineStageAdditionalUnitTests.

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-09-02 17:04:59 +02:00
Kevin Hudemann ce48491a36 Fix stageDefaults fortify and mavenStaticCodeChecks (#1962) 2020-08-28 10:51:55 +02:00
Kevin Hudemann a035690f3d Update Cloud SDK stage defaults (#1959)
This change updates the Cloud SDK stage defaults, makes the piperPipelineStageMavenStaticCodeChecks use the step condition and adds the onlyRunInProductiveBranch configuration option to npmExecuteEndToEndTests step.
2020-08-27 16:17:06 +02:00
Kevin HudemannandStephan Aßmus 139e34cd37 Extend conditions for step and stage activation (#1955)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-08-27 15:49:09 +02:00
Kevin Hudemann ce96c379ef Add mavenExecuteIntegration and writeTemporaryCredentials to piperPipelineStageIntegration (#1927)
This change add the support for running integration tests using the
recently introduced step mavenExecuteIntegration in
piperPipelineStageIntegration. In addition, capabilities to provide
temporary credentials to these tests is added using the
writeTemporaryCredentials step.
2020-08-14 15:22:05 +02:00
Kevin Hudemann 771bfd0cf2 Remove sapNpmRegistry (#1909)
The SAP NPM registry has been migrated to the default public registry,
thus the separate configuration with the sapNpmRegistry is not required
anymore.
All packages from npm.sap.com have been migrated to npmjs.org
and in the future SAP packages will only be available from the default
public registry.
2020-08-11 15:58:39 +02:00
Kevin Hudemann 806f7c8a09 Add groovy wrapper for TemporaryCredentialsUtils (#1906)
This change adds the groovy step writeTemporaryCredentials, in order to
avoid resolving configuration parameters within the piperPipelineStageIntegration
in the future.
For the integration tests functionality provided by the SAP Cloud SDK
Pipeline it needs be possible to configure a credential id pointing to
Jenkins credentials, which are then temporarily written to a file to be
available during the execution of the integration tests.
With the previous implementation solely in the TemporaryCredentialsUtils
class, it would be required to resolve the credentialId from the
configuratuion within the piperPipelineStageIntegration, once we fully
migrate the Cloud SDK integration tests stage.
2020-08-10 17:54:03 +02:00
Kevin Hudemann 415efb066a Add TemporaryCredentialsUtils (#1894)
This change adds a utils class to write credentials specified in Jenkins to a
temporary file, to be used for the execution of, e.g., integration tests
as already available in Cloud SDK Pipeline.
2020-08-07 16:12:34 +02:00
Kevin Hudemann eea0c1f35e Use npmExecuteEndToEndTests step in Release/Acceptance stage if it is configured (#1813)
This change enables the use of the new npmExecuteEndToEndTests in the
stages release and acceptance if it is configured. If it is not
configured, nothing should change.
2020-07-17 13:59:14 +02:00
Kevin Hudemann 58e7e4be44 Add buildDescriptorExcludeList parameter to npmExecuteScripts step (#1800)
This change adds a buildDescriptorExcludeList parameter to
npmExecuteScripts, to enable the exclusion of certain directories when
executing npm scripts. Previously, npmExecuteScripts could only execute
scripts in all packages.

Now it is possible to provide paths or patterns as elements of the
buildDescriptorExcludeList to exclude packages when executing npm scripts.
2020-07-16 17:16:55 +02:00
Kevin Hudemann ebfb208528 Add report handling to npmExecuteEndToEndTests (#1791)
This change adds the missing report handling to npmExecuteEndToEndTests
step. In addition, it extends the testsPublishResults step to support
cucumber test results.
2020-07-14 13:33:49 +02:00
Kevin HudemannandDaniel Kurzynski fd98d6279f Add step for end to end test execution (#1786)
This change adds the end to end test execution capabilities of the SAP
Cloud SDK pipeline, i.e., the consumer can define a npm script which is
then executed using the npmExecuteScripts step.

The handling of generated results will be provided in a follow up PR.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-07-13 15:10:12 +02:00
Kevin Hudemann c8ca3ea522 Add mta extension credentials handling to cloudFoundryDeploy step and infer deployTool default from buildTool (#1761) 2020-07-06 16:16:48 +02:00
Kevin Hudemann 12455ae747 Separate log folders for neo deployments (#1747)
Previously, all logs were stored in the same folder and in case of an
error all logs in that folder would be returned to the user. Thus, it
is possible that unrelated logs, i.e., from different deployments (in
case of parallel deployments) are returned to the user.
2020-07-01 16:36:08 +02:00
Kevin Hudemann 89e8209f8e Add isolation for CF Deployments in multicloudDeploy step (#1742)
This change adds isolation to CF deployments, when using blue-green
deployments in multicloudDeploy step.
2020-07-01 16:08:12 +02:00
Kevin HudemannandDaniel Kurzynski a4fc7bf4af Fix error Handling in DefaultValueCache (#1719)
This change fixes the error handling in addDefaultsFromFiles(), i.e.,
using the correct path when calling the readFile step to return the
content of the unsuccessfully parsed yaml file.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-06-25 07:58:29 +02:00
Kevin HudemannandDaniel Kurzynski 60fa1d5bbf Add Java-/Typescript linting capabilities (#1636)
This change adds linting support for Java-/TypeScript projects based on the checkDefaultLint and checkUserLint steps from Cloud SDK Pipeline.

Following options are supported:

1. Define a linting script named ci-lint in the package.json file(s) of the project
2. Provide a configuration for ESLint as part of the project
3. If none of the above: ESLint is executed with a general purpose configuration.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-06-22 10:12:28 +02:00
ceb3dd0a04 Refactor pkg/npm and npmExecuteScripts (#1684)
This change refactors the npm pkg and npmExecuteScripts implementations
to be reusable for future steps, e.g., npmExecuteLint.

In addition, it fixes few small bugs related to unit test execution on
Windows and the fileUtils mocking implementation.

Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-06-18 17:30:17 +02:00
Kevin HudemannandStephan Aßmus d7985dd1b5 Enable use of customDefaults from Project Config also in Groovy (#1521)
This change enables the setupCommonPipelineEnvironment step to handle
custom default configurations defined in customDefaults parameter of the
project configuration.

Previously, only the getConfig Go step was able to incorporate custom
default configurations.

Update documentation on custom defaults and sharing between projects.

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-05-12 13:50:18 +02:00
Kevin Hudemann 0be3225a3c Enable the use of artifactPrepareVersion instead of artifactSetVersion (#1455)
This change enables the use of the artifactPrepareVersion go step instead
of the deprecated artifactSetVersion groovy implementation for the Cloud
SDK Pipeline. The groovy wrapper for the artifactPrepareVersion step now
enables the use of the download cache and minor issues are fixed.
2020-04-27 09:56:58 +02:00
Kevin Hudemann 462a403d5c Add documentation for the lint stage of Cloud SDK Pipeline (#1384)
This change adds documentation for the new behavior and capabilities of
the lint stage of the Cloud SDK Pipeline.
2020-04-14 10:18:07 +02:00