Commit Graph
34 Commits
Author SHA1 Message Date
Christopher Fenner 6999380ee3 chore(go): simplify code using gofmt -s (#2065) 2020-09-24 08:58:53 +02:00
Christopher Fenner 54ff93233e refactor(docs): separate step and docs generator (#2033)
* remove docs generator code from step-generator

* add docs generator to dedicated package

* add test cases

* add entry point for docs generation

* make output more readable

* remove dead code
2020-09-23 13:55:17 +02:00
Kevin StiehlandOliver Nocon d589038206 Vault AppRole login (#1971)
* added interpolation package in config

* vault allow paths to hold config references

* allow referencing properties in vaultPaths

* fix small typo

* add approleAuth

* register resolved secrets to logger

* generate steps

* clean up

* add integration test

* add vault to context filter

* reduce Cognitive Complexity & added tests

* Update pkg/config/stepmeta_test.go

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>

* go generate

* go generate after merge

* rename VaultAppRole* to VaultRole*

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-09-16 14:50:09 +02:00
Christopher FennerandStephan Aßmus df9f75b04d refactor: align parameter name for username (#1960)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-09-16 11:33:03 +02:00
Oliver NoconandSven Merk eef3bcde60 Add step for GitHub branch protection check (2) (#2016)
* add step for GitHub branch protection check

* add command to piper command

* remove unnecessary parameter

* Update resources/metadata/githubbranchprotection.yaml

* add groovy part

* update generation & go mod tidy

* update groovy tests

* fix bug with go-github version

* Add step to check GitHub branch protection settings

* include PR review feedabck

Co-authored-by: Sven Merk <33895725+nevskrem@users.noreply.github.com>
2020-09-14 12:05:12 +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
Florian Wilhelm 324f854814 Rewrite nexus 3 Integration Tests (#1902)
This commit adapts nexus 3 integration tests to our new docker-based framework of writing IT. It makes individual tests easier to read and debug. One significant change is that each test now spawns a separate Nexus instance, which requires more memory, but also isolates the tests better.
2020-08-11 10:28:03 +02:00
Florian Wilhelm b80581f98c Simplify mta IT (#1901) 2020-08-08 09:09:32 +02:00
Florian Wilhelm c887231234 Fix installing maven artefacts in spring projects using MTA (#1892)
Currently, the mtaBuild step installs the wrong artifact in a spring project making use of the "repackage" feature. This PR fixes that by checking if an ".original" jar file exists and using that instead.
2020-08-06 15:12:21 +02:00
Stephan AßmusandFlorian Wilhelm a61798ccbf New step mavenExecuteIntegration (#1829)
Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-07-29 19:51:27 +02:00
Florian Wilhelm 4fd81eb7f5 Maven Integration test for TomEE-based Cloud SDK Project (#1828) 2020-07-23 09:20:11 +02:00
Florian Wilhelm ba7f2c2b96 Refactoring, sanity check for unit-under-test binary (#1827)
- Extracted some methods to structure the code better
- Explicitly run the binary with a trivial command first to avoid simple failure reasons (like having a non-linux binary)
2020-07-22 15:48:46 +02:00
Kevin StiehlandOliver Nocon 116a91ce28 Fetch config parameters from vault (#1782)
* added secret fetching from vault

* added rootPath and vault namespaces

* write tests for vault config loading
	* fix smaller bugs

* rename rootPath to basePath

* fix integration test

* make basePath optional

* write more tests

* remove unnecessary code

* make basePath configurable

* remove mixin for vault

* rewrite tests
* fix tests for searching over multiple paths

Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-07-22 11:15:48 +02:00
Florian Wilhelm f77d995b95 Remove files not longer required from integration tests (#1822) 2020-07-21 12:21:02 +02:00
Florian Wilhelm 6367b88af6 Maven Build Integration Test (#1820)
Follow up for #1819, adding a new IT for `mavenBuild` which had none so far.
2020-07-21 11:15:46 +02:00
Florian WilhelmandStephan Aßmus 219327a427 Rewrite mta IT using docker cli (#1819)
This change addresses some issues of the testcontainer based testing approach (much repeated code, API not on the right abstraction level). It introduces new methods that make use of the docker cli, and rewrites the mta tests using this method.


Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-07-20 18:07:08 +02:00
Oliver NoconandChristopher Fenner 220748d150 Step generation: allow usage of go generate (#1793)
* Step generation: allow usage of go generate

* Update DEVELOPMENT.md

* move generate command to main.go (#1809)

* Update main.go

* Update DEVELOPMENT.md

* Update piper.go

* align path usage

Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-07-17 08:06:11 +02:00
Daniel Kurzynski fbf2b29a32 NpmExecuteScripts add script options (#1780) 2020-07-09 14:57:41 +02:00
Kevin Stiehl 644f18b491 feat(vault): Added package to get secrets from vault (#1763)
* Added Vault package

* added support for logical path lookups instead of api paths

* added integration tests

* add integration tests and mock tests

* Replace mock with mockery generated one

	* update tests to use mockery
        * create mocks sub package
2020-07-08 08:20:15 +02:00
Florian Wilhelm 60eefabb20 Install dev deps in mta build (#1685)
Ensure npm dev dependencies are available after mtaBuild as they are required by certain tests.
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-06-22 10:39:52 +02:00
Florian WilhelmandStephan Aßmus b5d4e7fd90 Avoid need of cd to install maven modules (#1677)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-06-17 19:08:43 +02:00
Florian Wilhelm b0329cd2c0 Use absolute path for m2path in mta install (#1671) 2020-06-16 09:48:47 +02:00
Florian Wilhelm 0fcf1654fe Install maven artifacts after mta build (#1641)
Extend mta build step to install maven artefacts after build to allow re-using them in later stages (additional unit or integration tests which might not be running as part of the "build" life-cycle).
2020-06-15 12:46:54 +02:00
Stephan Aßmus 6a96629d65 Provide a timeout of 20m for the go Integration Tests (#1613)
* Provide a timeout of 20m for the go IT
Default is 10m, see https://golang.org/cmd/go/#hdr-Testing_flags
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-05-28 18:28:38 +02:00
Florian Wilhelm bd1e0a1071 Fix npm registry config (#1564) 2020-05-20 13:41:23 +02:00
Florian Wilhelm 60e06a864c Delete npm IT as it is flakey (#1475) 2020-04-28 17:01:06 +02:00
Florian Wilhelm 3f5b9cc555 Implement npmExecuteScripts step (#1422) 2020-04-24 18:29:30 +02:00
Florian Wilhelm b71ff0a055 Extend nexusUpload to also handle npm (#1379) 2020-04-11 12:56:44 +02:00
Florian WilhelmandStephan Aßmus 9372aa1f43 Relax requirements for maven projects in nexus upload (#1348)
* iterate over found pom.xml files for maven projects, deploy found artifacts
* classifiers are found by testing prefix/suffix of artifact
* Remove additionalClassifiers option
* Improve documentation
* Fix fallback for finalBuildName
* Ignore mvn modules with packaging != pom but no target dir
* Fail when main artifact is missing, add more tests

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-04-03 21:32:38 +02:00
Stephan AßmusandFlorian Wilhelm 20b65d5a2e Implement nexusUpload command and tests (#1255)
Artifacts to upload are assembled for MTA projects and Maven projects with optional application sub-module. Then maven deploy:deploy-file is used as backend to upload bundles of artifacts plus sub-artifacts.

Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
2020-03-20 18:20:52 +01:00
Christopher Fenner 0b3b4aae3d chore: streamline GH actions (#1246)
* chore: streamline GH actions

* force use of local piper

* look for piper in project root

* use local piper

* Update .github/workflows/verify-go.yml

* remove chmod
2020-03-05 13:35:35 +01:00
Florian Wilhelm 1a3275b70d Use piper exe in CWD for integration tests if available (#1231)
This change allows a development workflow where you don't need to set the `PIPER_INTEGRATION_EXECUTABLE` variable if your executable is available in the CWD. This should make it non-required to set the variable for most cases of local development.
2020-02-27 12:43:38 +01:00
Florian Geckeler ef330e1eee Move mock capabilities to pkg/mock/runner and adapt all tests 2020-02-27 12:11:22 +01:00
Oliver Nocon e81f40f645 Provide foundation for integration-like tests (#1131) 2020-02-18 15:19:50 +01:00