577 Commits

Author SHA1 Message Date
Waldemar Zurowski
c8216be92c Refactoring of regression Jenkins configuration
* removed archiving of Gradle JUnit HTML reports
* collection of JUnit tests moved to stage in parallel branch
2020-09-18 08:14:26 +02:00
Waldemar Zurowski
1d43471709 Refactoring of regression Jenkins configuration
* removed archiving of Gradle JUnit HTML reports
* collection of JUnit tests moved to stage in parallel branch
2020-09-18 08:09:20 +02:00
Ross Nicoll
2064a572ba
CORDA-4034 ENT-5679 CORDA-3845 Correct instability of linear builds (#6722)
* CORDA-4034 Reduce forkEvery to 15 to attempt to mitigate memory leak.
* ENT-5679 Disable test which triggers OOM
* Run tests on two Jenkins agents
* Fixed processing JUnit test results by Allure
* Add timeouts to VaultObserverExceptionTest
* Revert "CORDA-3845: Update BC, log4j, slf4j (#6699)" to eliminate introduced memory leaks

Co-authored-by: Waldemar Zurowski <waldemar.zurowski@r3.com>
2020-09-18 00:23:16 +01:00
Waldemar Zurowski
6ab9557061 Use safe navigation operator for correct field
when checking the time of previous build.
Handles an edge case when there is the very first build for the branch
2020-09-16 14:54:57 +02:00
Waldemar Zurowski
c387c2cb95 Synchronised changes with OS 4.4 branch 2020-09-16 10:23:11 +02:00
Waldemar Zurowski
bcfbe22d1a Synchronised changes with OS 4.3 branch 2020-09-16 10:22:36 +02:00
Waldemar Zurowski
99841dcaeb Merge branch 'release/os/4.4' into INFRA-683-os-45-linear-builds 2020-09-15 14:27:34 +02:00
Ross Nicoll
bcce0e9519
INFRA-683 Move OS 4.4 release branch builds to linear (#6705)
* Do not use Security.addProvider(BouncyCastleProvider()) in tests, to avoid disruptions of other tests.
* Forcibly register security providers before starting Jimfs, to resolve a sequencing problem where Jimfs triggers loading of the SFTP filesystem provider, which in turn registers the standard BouncyCastle provider rather than the patched version Corda needs.
* INFRA-683 Move Corda OS release branch builds to serial (#6703)

Co-authored-by: Waldemar Zurowski <waldemar.zurowski@r3.com>
Co-authored-by: Denis Rekalov <denis.rekalov@r3.com>
Co-authored-by: Waldemar Zurowski <waldemar.zurowski@r3.com>
2020-09-15 13:18:46 +01:00
Waldemar Żurowski
80bac915ee
INFRA-683: manual sync with enterprise 43 (#6709)
* Add support for handling release candidate for Docker publishing
* Re-enabled Sonatype check
* Artifactory build name includes branch / tag name
* Environment variables sorted alphabetically
2020-09-15 12:10:06 +01:00
Ross Nicoll
b3d9d1291f
INFRA-683 Move Corda OS release branch builds to serial (#6703)
Co-authored-by: Waldemar Zurowski <waldemar.zurowski@r3.com>
2020-09-14 11:29:42 +01:00
Ross Nicoll
0c16957622 Merge remote-tracking branch 'origin/release/os/4.6' into rni/notick/46-47-merge-2020-09-04 2020-09-04 14:15:47 +01:00
Joseph Zuniga-Daly
02b2b35bc4
CORDA-3908: Update corda-4.7 .ci/api-current.txt to match the previous release (corda-4.6) (#6681)
* CORDA-3908: Update corda-4.7 .ci/api-current.txt to match the previous release (corda-4.6)

* Reapply changes from PR 6644

* NodeParameters gained a property in PR 6644

* Remove duplicate class from bad merge
2020-09-03 17:13:44 +01:00
Adel El-Beik
9962c9085d
INFRA-424: Merge openj9 updates into 4.6 (#6683)
* INFRA-424 linux1 jenkinsfile

* INFRA-424 full run

* INFRA-424 bigger heap size

* Upgraded DJVM to handle BC - latest version of BC is a multirelease JAR.
When reading JKS keystore if a BC EdDSAPrivateKey is returned then swap for a net.i2p EdDSA private key.

* Temporary downgrade of BC

* Removed the BC EdDSA conversion

* INFRA-424 bigger heap size

* Upgrading Quasar to handle openJ9 different fields.

* INFRA-424: Handle lack of SUPPRESSED_SENTINEL in openj9.

* INFRA-424: If BCEdDSA public or private key is generated convert to net.i2p EdDSA form.

* INFRA-424 bigger heap size

* INFRA-424: On openJ9 only getting upto milli resolution.

* INFRA-424: Handle keystore returning a BCEdDSAPrivateKey.

* INFRA-424: Disable test on JDK11, as it requires the custom cordapp to generate JDK8 contract code, which we now check for.

* INFRA-424: Truncated time test to resolution of millis for openj9.

* INFRA-424 disabling log intensive tests until a fix is developed

* INFRA-424 one more test disabled

* INFRA-424: Disabled a couple of tests failing on openj9.

* INFRA-424: Disabling failing openj9 tests.

* INFRA-424: Disabling test failing on openj9.

* INFRA-424: Ignoring another flaky sleep test on openj9.

* INFRA-424 run integrationTests

* INFRA-424 set timeout to 4 hours

* INFRA-424: Cope with exception message from openj9.

* INFRA-424: Handle the coloured text characters openj9 adds.

* INFRA-424: Disabling test as it is generating JDK11 contract code under JDK11. Currently on JDK8 contract code allowed.

* INFRA-424: Commenting test out for openj9. Output of the processs thats read by the test is sometimes garbled.

* INFRA-424 switching to smoke tests

* INFRA-424 switching to slow integration tests

* INFRA-424 full run

* INFRA-424 moving jenkinsfile

* INFRA-424 removing references

* INFRA-424: Created common IS_OPENJ9 func for ignoring tests.

Co-authored-by: Schife <razvan.codreanu@r3.com>
2020-09-02 14:35:30 +01:00
Joseph Zuniga-Daly
3890064095
CORDA-3908: Update corda-4.6 .ci/api-current.txt to match the previous release (corda-4.5) (#6504)
* CORDA-3908: Update corda-4.6 .ci/api-current.txt to match the previous release (corda-4.5)

* Reapply changes from PR 6392

* Apply change introduced by PR #6326

* Apply change introduced by PR #6280
2020-08-26 17:41:18 +01:00
Joseph Zuniga-Daly
8fd4fd1bf8 Merge OS 4.6 into OS 4.7 2020-08-26 11:09:02 +01:00
Joseph Zuniga-Daly
df7e3ca184
CORDA-3908: Update corda-4.5 .ci/api-current.txt to match the previous release (corda-4.4) (#6648)
* CORDA-3908: Update corda-4.5 .ci/api-current.txt to match the previous release (corda-4.4)

* Reapply changes from PR 5998
https://github.com/corda/corda/pull/5998
2020-08-24 14:32:10 +01:00
Razvan Codreanu
b2cb0cc51a
INFRA-608 Split out regression test stage (#6619)
Split out regression test stage to reduce fragility
2020-08-21 11:18:54 +01:00
Viktor Kolomeyko
9fc896beb3
CORDA-3960: Port MultiRPCClient to OS (#6644)
* CORDA-3960: Port MultiRPCClient to OS

* CORDA-3960: Carefully restore serialisation environment in `MultiRpcClientTest` to eliminate side effects on other tests

* CORDA-3960: Move ThreadDumpUtils.kt to `core-utils`
2020-08-18 10:35:19 +01:00
Waldemar Zurowski
affd9ebad6 Merge branch 'release/os/4.5' into wz/merge-os-45-46-2020-08-07 2020-08-07 12:24:13 +02:00
Waldemar Zurowski
8e368a2b76 Synched JDK11 Azul builds configuration with regression build
* carries over INFRA-541 and INFRA-542
2020-08-07 11:44:14 +02:00
Waldemar Zurowski
805e9e9f9f NOTICK: Merging forward updates from OS 4.4 to OS 4.5 2020-08-07 06:16:53 +02:00
Waldemar Zurowski
56b574c66e Fixed missing elements 2020-08-07 06:07:29 +02:00
Waldemar Żurowski
e524f41738
INFRA-542: Allow change of the default Nexus IQ stage parameter (#6586)
* adds a parameter to a build
* default value of the parameter is the same as original stage parameter
2020-08-06 20:20:19 +01:00
Waldemar Żurowski
d19c6dddaf
INFRA-541: Remove obsolete jenkins prefix from Nexus AppID (#6585) 2020-08-06 20:17:15 +01:00
Joseph Zuniga-Daly
dbfea9015d
CORDA-3908: Update corda-4.4 .ci/api-current.txt to match the previous release (corda-4.3) (#6502)
* CORDA-3908: Update .ci/api-current.txt to match the previous release (corda-4.3)

* Reapply changes from PR 5633
https://github.com/corda/corda/pull/5633

* Reapply changes from PR 5711
https://github.com/corda/corda/pull/5711

* Reapply changes from PR 5800
https://github.com/corda/corda/pull/5800

* Reapply changes from PR 5846
https://github.com/corda/corda/pull/5846

* Reapply changes from PR 5833
https://github.com/corda/corda/pull/5833

* Swap order of implemented interfaces - No API change

* Add missing change from PR 5711

* A new parameter was added to MaxRpcRetryException in PR 5869

* LedgerTransaction gained 5 new parameters in PR 5633
2020-08-04 17:09:05 +01:00
Jonathan Locke
530c5eadf8
INFRA-549: Commented out Sonatype checks during regression builds for now. (#6528)
Commented out Sonatype checks during regression builds for now.
2020-07-30 11:27:45 +01:00
Waldemar Zurowski
02990b9dc0 Merge branch 'release/os/4.5' into wz/merge-os-45-46-2020-07-30 2020-07-30 05:37:46 +01:00
Waldemar Żurowski
a81e871356
NOTICK: Reverted use of Artifactory cache mechanism (#6526) 2020-07-30 05:25:01 +01:00
Waldemar Zurowski
e95ff388da Merge branch 'release/os/4.5' into wz/merge-os-45-46-2020-07-28 2020-07-28 14:14:43 +01:00
Waldemar Zurowski
7f94f6cb39 Added missing buildDiscarder to docs API publisher Jenkins configuration
* updated regex for recognised tag to match JenkinsUI configuration
2020-07-28 09:36:11 +01:00
Ross Nicoll
13073c300f
NOTICK: OS 4.3 to OS 4.4 merge (#6506)
* CORDA-3917 Update to Jackson 2.9.8 (#6493)

* Update to Jackson 2.9.8 to address multiple security issues, and update warning note about
updates to clarify that it refers to 2.10+. When the note was added 2.9.7 as the highest
available version in the 2.9.x series.
* Add PR code checks Jenkinsfile

* CORDA-3916 Update to BouncyCastle 1.61 (#6492)

Update to BouncyCastle 1.61. Updating one version at a time to mitigate risk of a complex breaking change being introduced.

* Added missing collection of JUnit tests and logs

Co-authored-by: Waldemar Zurowski <waldemar.zurowski@r3.com>
2020-07-23 16:59:42 +01:00
Waldemar Zurowski
0b1ccb48d0 Merge branch 'release/os/4.5' into wz/merge-os-45-46-2020-07-23 2020-07-23 11:31:43 +01:00
Waldemar Zurowski
2e6bd97fe9 Updates
* INFRA-508: NexusIQ stage for GA releases updated to `release`
* do not truncate stdio when collecting JUnit tests
2020-07-23 10:46:32 +01:00
Waldemar Zurowski
49c86af354 Merge branch 'release/os/4.4' into wz/merge-os-44-45-2020-07-23 2020-07-23 10:39:12 +01:00
Waldemar Żurowski
14279a30cc
INFRA-508: NexusIQ stage for GA releases updated to release (#6508) 2020-07-23 10:36:48 +01:00
Waldemar Zurowski
4e0ebefbcc Merge branch 'release/os/4.5' into release/os/4.6 2020-07-22 19:56:07 +01:00
Waldemar Zurowski
136743ae61 Merge branch 'release/os/4.4' into release/os/4.5 2020-07-22 19:55:12 +01:00
Waldemar Zurowski
f60f06a85f INFRA-508: Change appID in sonatype stage for Corda and Corda Enterprise 2020-07-22 19:54:41 +01:00
Waldemar Zurowski
4d03bcb7ed Merge branch 'release/os/4.4' into release/os/4.5 2020-07-22 19:44:21 +01:00
Waldemar Zurowski
0842ea26b7 NOTICK: Backport Jenkins configuration for nightly builds to release 4.4 2020-07-22 19:43:08 +01:00
Waldemar Zurowski
b1571cc241 Merge branch 'release/os/4.5' into wz/merge-os-45-46-2020-07-22 2020-07-22 19:35:49 +01:00
Joseph Zuniga-Daly
c33720c73d
CORDA-3717: Apply custom serializers to checkpoints (#6392)
* CORDA-3717: Apply custom serializers to checkpoints

* Remove try/catch to fix TooGenericExceptionCaught detekt rule

* Rename exception

* Extract method

* Put calls to the userSerializer on their own lines to improve readability

* Remove unused constructors from exception

* Remove unused proxyType field

* Give field a descriptive name

* Explain why we are looking for two type parameters when we only use one

* Tidy up the fetching of types

* Use 0 seconds when forcing a flow checkpoint inside test

* Add test to check references are restored correctly

* Add CheckpointCustomSerializer interface

* Wire up the new CheckpointCustomSerializer interface

* Use kryo default for abstract classes

* Remove unused imports

* Remove need for external library in tests

* Make file match original to remove from diff

* Remove maySkipCheckpoint from calls to sleep

* Add newline to end of file

* Test custom serializers mapped to interfaces

* Test serializer configured with abstract class

* Move test into its own package

* Rename test

* Move flows and serializers into their own source file

* Move broken map into its own source file

* Delete comment now source file is simpler

* Rename class to have a shorter name

* Add tests that run the checkpoint serializer directly

* Check serialization of final classes

* Register as default unless the target class is final

* Test PublicKey serializer has not been overridden

* Add a broken serializer for EdDSAPublicKey to make test more robust

* Split serializer registration into default and non-default registrations. Run registrations at the right time to preserve Cordas own custom serializers.

* Check for duplicate custom checkpoint serializers

* Add doc comments

* Add doc comments to CustomSerializerCheckpointAdaptor

* Add test to check duplicate serializers are logged

* Do not log the duplicate serializer warning when the duplicate is the same class

* Update doc comment for CheckpointCustomSerializer

* Sort serializers by classname so we are not registering in an unknown or random order

* Add test to serialize a class that references itself

* Store custom serializer type in the Kryo stream so we can spot when a different serializer is being used to deserialize

* Testing has shown that registering custom serializers as default is more robust when adding new cordapps

* Remove new line character

* Remove unused imports

* Add interface net.corda.core.serialization.CheckpointCustomSerializer to api-current.txt

* Remove comment

* Update comment on exception

* Make CustomSerializerCheckpointAdaptor internal

* Revert "Add interface net.corda.core.serialization.CheckpointCustomSerializer to api-current.txt"

This reverts commit b835de79bd21f0048be741e7fc5f0c3088516d2b.

* Restore "Add interface net.corda.core.serialization.CheckpointCustomSerializer to api-current.txt""

This reverts commit 718873a4e963bad4e327bb200e7bb4de44bc47ad.

* Pass the class loader instead of the context

* Do less work in test setup

* Make the serialization context unique for CustomCheckpointSerializerTest so we get a new Kryo pool for the test

* Rebuild the Kryo pool for the given context when we change custom serializers

* Rebuild all Kryo pools on serializer change to keep serializer list consistent

* Move the custom serializer list into CheckpointSerializationContext to reduce scope from global to a serialization context

* Remove unused imports

* Make the new checkpointCustomSerializers property default to the empty list

* Delegate implementation using kotlin language feature
2020-07-22 17:31:59 +01:00
Waldemar Żurowski
d810067ab6
NOTICK: Fixed for JDK11 builds (#6501)
* NexusIQ every build related to Corda X.Y (GA, RC, HC, patch or
  snapshot) uses the same NexusIQ application
* NexusIQ application application has to exist before a build starts
* Fixed repository name for publishing, use OS instead of Ent one
2020-07-22 14:43:14 +01:00
Waldemar Zurowski
8ee070953a Merge branch 'release/os/4.5' into wz/merge-os-45-46-2020-07-22 2020-07-22 13:00:42 +01:00
Waldemar Zurowski
6413873f68 Merge branch 'release/os/4.4' into wz/merge-os-44-45-2020-07-22 2020-07-22 12:57:45 +01:00
Waldemar Żurowski
05532c0419
NexusIQ updates (#6499)
* every build related to Corda X.Y (GA, RC, HC, patch or snapshot) uses
  the same NexusIQ application
* NexusIQ application application *has* to exist before a build starts
2020-07-22 12:41:22 +01:00
Waldemar Żurowski
ca37b9b737
PR Code Checks use standard Jenkins agent (#6496) 2020-07-22 09:26:39 +01:00
Ross Nicoll
cd4626d8c2
CORDA-3917 Update to Jackson 2.9.8 (#6493)
* Update to Jackson 2.9.8 to address multiple security issues, and update warning note about
updates to clarify that it refers to 2.10+. When the note was added 2.9.7 as the highest
available version in the 2.9.x series.
* Add PR code checks Jenkinsfile
2020-07-22 09:08:49 +01:00
Waldemar Zurowski
a90197ed81 Merge branch 'release/os/4.5' into wz/merge-45-46-2020-07-21 2020-07-21 15:59:07 +01:00
Waldemar Zurowski
5ee2626530 Empty JUnit results are not allowed 2020-07-21 15:55:56 +01:00