Commit Graph
88 Commits
Author SHA1 Message Date
485faed812 Reduce go binary size by updating to go 1.15 (#1968)
* Update go to 1.15 to reduce binary size

Go made improvements to reduce binary size, cf https://golang.org/doc/go1.15

> Go 1.15 reduces typical binary sizes by around 5% compared to Go 1.14 by eliminating certain types of GC metadata and more aggressively eliminating unused type metadata.

In my test, this equates to about 3 mb diff between Go 1.13 and Go 1.15:

-rwxr-xr-x 1 root root 36M Aug 31 14:43 piper-go-113
-rwxr-xr-x 1 root root 33M Aug 31 14:44 piper-go-115

* Go Generate

* go mod tidy

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
2020-09-17 08:44:42 +02:00
Florian Wilhelm 7b08b8b3cd Link stages in cloud sdk docs (#2006) 2020-09-11 11:47:03 +02:00
Florian Wilhelm 88a784217a Remove duplicated docs of steps that are documented in piper (#2007) 2020-09-10 17:16:15 +02:00
Florian Wilhelm ef2a1c0b18 Add Cloud sdk config docs (#1987) 2020-09-08 13:53:06 +02:00
Florian Wilhelm 9d6517ff7a Add command for commandline completion scripts (#1983)
Small change to allow better interactive cli usage of piper. This makes use of cobra's feature as described here https://github.com/spf13/cobra/blob/master/shell_completions.md
2020-09-07 15:22:01 +02:00
Florian Wilhelm ae0074b5d3 Infer build tool (#1980)
Add a function for inferring the used build tool based on project layout.
This feature must be explicitly enabled for backwards compatibility reasons.
2020-09-04 14:45:09 +02:00
Florian Wilhelmandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> ed1da5e048 Automated go dependency update (#1979)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-09-04 13:42:34 +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
Florian Wilhelm df420df220 Document java version selection for Cloud SDK Pipeline (#1865) 2020-08-04 09:36:52 +02:00
Florian Wilhelmandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 869aa116e1 Automated go dependency update (#1877)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-08-03 12:51:32 +02:00
Florian Wilhelm 4228eb13b3 Hint about piper binary on non-linux os (#1861) 2020-07-29 12:36:11 +02:00
Florian Wilhelm ec52a70e0b Reflect recent changes in docs (#1859) 2020-07-29 12:21:21 +02:00
Florian Wilhelm 60796cdc59 Update maven spotbugs plugin to support Java 14 (#1852) 2020-07-28 09:58:56 +02:00
Florian Wilhelm f5df533c68 Allow trigger IT via github UI (#1830)
cf https://docs.github.com/en/actions/configuring-and-managing-workflows/configuring-a-workflow\#manually-running-a-workflow
2020-07-23 11:43:59 +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
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
Florian Wilhelm 68bfb02778 Create stage run defaults for the Cloud SDK Pipeline (#1795) 2020-07-15 08:23:10 +02:00
Florian Wilhelm ccc77bbc11 Use multicloudDeploy step in Release/Acceptance Stage if it is configured (#1789)
The multicloudDeploy step is newer and more capable compared to the old steps. For pipelines that don't configure the multicloudDeploy step, nothing should change.
2020-07-13 14:26:26 +02:00
Florian Wilhelm 209d940522 Cf validate app name (#1759)
CF deployment will fail if you have an _ in the app name. Also in general names should only contain alphanumeric chars. Warn users if it does not.
2020-07-06 11:45:36 +02:00
Florian Wilhelmandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> f8a9abf88c Automated go dependency update (#1756)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-07-03 13:35:09 +02:00
Florian Wilhelm ca425954f9 Update docs on js linting in Cloud SDK Pipeline (#1750) 2020-07-02 10:09:36 +02:00
Florian Wilhelm b5dbd0dafc Cf create services in multiclouddeploy step (#1736) 2020-07-01 17:28:50 +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 1d3bd11621 Adapt mavenExecute example call to new api (#1672)
The old one won't work
2020-06-16 12:43:40 +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
Florian Wilhelm 4295f7a24e Restore alphabetical order of docs (#1643) 2020-06-09 09:05:28 +02:00
Florian Wilhelm edef158e61 Document new npmExecuteScripts and mavenBuild steps (#1632) 2020-06-09 08:46:54 +02:00
Florian Wilhelm c490ce9211 Use go-based npmExecuteScripts, mavenBuild in buildExecute (#1622) 2020-06-04 17:53:06 +02:00
Florian Wilhelmandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 285537f6a4 Automated go dependency update (#1630)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-06-04 13:52:19 +02:00
Florian Wilhelm 7fc9002ce1 Build go binary without debug symbols (#1618)
This produces a much smaller binary for faster downloads.

See https://golang.org/cmd/link/ for docs on -s and -w flag.
2020-06-02 12:32:29 +02:00
Florian WilhelmandDaniel Kurzynski 6cbc407af1 Use short warn log level (#1599)
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-05-27 14:06:09 +02:00
0857c9a3c6 Allow custom options for src, exclude in fortify translate (#1592)
Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Kevin Hudemann <kevin.hudemann@sap.com>
Co-authored-by: Daniel Kurzynski <daniel.kurzynski@sap.com>
2020-05-27 11:45:01 +02:00
Florian Wilhelm 5a7b3db3a9 Publish jar for releases (#1588) 2020-05-25 18:29:52 +02:00
Florian Wilhelm 620681f0ff Fix typo in docs (#1586) 2020-05-25 15:12:47 +02:00
Florian Wilhelm a9bf975a00 Use master version of piper binary in all usages of the action (#1581) 2020-05-22 17:18:40 +02:00
Florian Wilhelm 79729adb3e Fix piper version to v1.34.0 for release (#1576) 2020-05-22 10:12:33 +02:00
Florian Wilhelm bd1e0a1071 Fix npm registry config (#1564) 2020-05-20 13:41:23 +02:00
Florian WilhelmandStephan Aßmus 550651187d Configure alias for extension (#1569)
Restore compatibility with old parameter name to avoid breaking changes.



Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
2020-05-19 17:05:11 +02:00
Florian Wilhelm d151550554 Allow to configure sap npm registry in mta builder (#1550) 2020-05-15 14:20:37 +02:00
Florian Wilhelm b51230139a Improve docs on new mavenExecute api (#1525) 2020-05-11 13:52:42 +02:00
Florian Wilhelm eaf5479e9c Fix maven parameter handling (#1493)
Avoid maven error `Unknown lifecycle phase \"-\"` when the value of a define contains `-`.

Don't split and trim maven arguments. Expect they come in as a list, keep them as list.

This is a breaking change compared to the old Groovy implementation which relied on using a shell for calling maven.

As an example, consider this diff:

```diff
-        goals: 'org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate',
-        defines: "-Dexpression=$pomPathExpression -DforceStdout -q",
+        goals: ['org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate'],
+        defines: ["-Dexpression=$pomPathExpression", "-DforceStdout", "-q"],
```
2020-05-06 17:43:32 +02:00
Florian Wilhelm 190ff83caa Handle case when stepname is not set for logging (#1517) 2020-05-06 16:27:34 +02:00
Florian Wilhelm 0a196af04c Allow configuration of log format, change default to fixed-width (#1432) 2020-05-06 12:17:56 +02:00
Florian WilhelmandChristopher Fenner 0c75bfa944 Fix broken links in docs (#1505)
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-05-05 09:00:09 +02:00
Florian Wilhelm e77209922a Run automated go dependency update once a month (#1464)
* Assign users to automated go dependency update

* update once a month
2020-04-29 16:28:57 +02:00
Florian Wilhelm 7bbdaf783c Dont dedup mvn flags (#1479) 2020-04-28 20:38:36 +02:00
Florian Wilhelm 60e06a864c Delete npm IT as it is flakey (#1475) 2020-04-28 17:01:06 +02:00
Florian Wilhelm ba086f1e9d Bootstrap documentation for Piper-NG CLI/GH Action (#1448) 2020-04-28 09:28:34 +02:00
Florian WilhelmandChristopher Fenner 158411564b Set piper exe version when under test (#1462)
Co-authored-by: Christopher Fenner <26137398+CCFenner@users.noreply.github.com>
2020-04-27 16:38:32 +02:00
Florian Wilhelm 3f5b9cc555 Implement npmExecuteScripts step (#1422) 2020-04-24 18:29:30 +02:00
Florian Wilhelmandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> c9cc2e1d30 Automated go dependency update (#1423)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2020-04-21 09:16:08 +02:00
Florian Wilhelm 6d7ab39e29 Use specific token for automated go dependency update PR (#1413) 2020-04-16 17:58:59 +02:00
Florian Wilhelm 4028db18f7 Automate go dependency updates (#1393) 2020-04-14 12:33:18 +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
Florian Wilhelm f482f439b0 Allow to trigger release manually (#1359) 2020-04-03 16:26:53 +02:00
Florian Wilhelm 0c3493f9ad Only add already tracked files to git (#1312) 2020-03-26 09:41:03 +01:00
Florian Wilhelm f81fe916dc Configure GitHub Release (#1299)
Same configuration as the old release process used
2020-03-20 14:01:49 +01:00
Florian Wilhelm 4e9b7f6cbf Release go-binary via piper action (#1243) 2020-03-11 16:58:56 +01:00
Florian Wilhelm fdb9fd3c6e Print "Status" in error case in http client (#1256)
This might provide useful context to the user.

For example when you try to upload a SNAPSHOT jar to a maven-release
repo in nexus, this will print an error like

returned with response 400 Repository version policy: RELEASE does
not allow version: 1.0-SNAPSHOT

instead of

returned with HTTP Code 400
2020-03-09 19:25:40 +01:00
Florian Wilhelm 15ef9adaaa Build piper binary in Consumer Tests (#1240) 2020-03-04 13:27:27 +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 Wilhelm c15f6a03d2 Add functions to infer build tool (#1210) 2020-02-23 16:54:50 +01:00
Florian Wilhelm 68295714ad Add a link to Jenkins declarative pipeline docs (#1194) 2020-02-21 14:10:11 +01:00
Florian Wilhelm 1b6781c1e9 Move docs of Cloud SDK Pipeline (#1167) 2020-02-18 17:51:44 +01:00
Florian Wilhelm e65515fbe9 Fix broken link (#1186) 2020-02-17 09:18:36 +01:00
Florian Wilhelm 7bd76a97a4 Document how pipelines can be more flexible 2020-02-14 17:10:53 +01:00
Florian Wilhelm 941eba0472 Fix Could not find matching constructor for: hudson.FilePath (#1134)
The constructor for hudson.FilePath does not take a file, but rather a
string containing the path to the file.
2020-02-03 12:28:16 +01:00
Florian Wilhelm 3caab5e10c Recommend Multibranch pipeline job type in guided tour (#1041) 2019-12-06 09:54:43 +01:00
Florian Wilhelm 5b58ce830f Clarify precedence in MapUtils#merge() (#983) 2019-11-14 14:33:23 +01:00
Florian Wilhelm 0dffbaedb1 openjdk8 2019-10-15 14:06:02 +02:00
Florian Wilhelm e041f45183 Streamline documentation to reflect project "piper" (#875) 2019-09-19 14:17:41 +02:00
Florian Wilhelm 3af8062c9f Cleanup (#844) 2019-08-13 11:54:58 +02:00
Florian Wilhelm 338314b08a Use test project from new repo (#797) 2019-07-18 13:23:19 +02:00
Florian Wilhelm bb3763bf32 Hint about api in defaut environment 2019-01-23 11:35:18 +01:00
Florian Wilhelm 8862fb7186 Decare resources directory API 2019-01-23 11:23:03 +01:00
Florian Wilhelm d4bb237486 Improve 2019-01-23 10:16:11 +01:00
Florian Wilhelm a1f8ef1086 Convert annotation to groovy 2019-01-23 10:07:55 +01:00
Florian Wilhelm 33238403d2 Mark old classes as deprecated api 2019-01-23 09:48:21 +01:00
Florian Wilhelm 7f1713148f Extend api 2019-01-08 17:35:53 +01:00
Florian Wilhelm dfa7b14d16 Explicitly state return types fixes #144 2018-05-04 11:34:51 +02:00