mirror of
https://github.com/corda/corda.git
synced 2025-01-12 07:52:38 +00:00
28852ce47d
* NOTICK: Corda 4.3-RC01 Created first release candidate of Corda 4.3 - RC01. * CORDA-3141: Add GracefulReconnect callbacks which allow logic to be performed when RPC disconnects unexpectedly (#5430) Also removed potential for growing stack trace on reconnects. * CORDA-2050 Upgrade Corda to Java 11 (compatibility mode) (#5356) Upgrade Corda to run with Java 11 (compatibility mode) - see https://github.com/corda/corda/pull/5356 * ENT-4198 Adding legal text Signed-off-by: Ed Prosser <edward.prosser@r3.com> * TM-29 new baseline for 4.3 since new debt has been added with the last few commits (#5487) * TM-23 compileAll task to compile all code (#5490) * Add simple compileAll task to be used by warning check * lazy configure compileAll * TM-32 Merge OS 4.3 into 4.4 * TM-32 fixed detekt issue * Downgrade Dokka back to 0.9.17 due to failing docs_builder. * add ability to group test types together (#5459) * add ability to group test types together * add ability to specify podCount for use in parallel testing * remove compiler xml * add Jenkinsfile to enable scanning * trigger build * add ability to specify what docker tag to use from outside of the build * fix docker work dir * fix pipeline syntax issues * use environment rather than `def` * move agent restrictor outside of stages block * use steps block * more pipeline syntax fixes * even more pipeline syntax fixes * even more pipeline syntax fixes * add kubenetize as property to image build * move clear of docker image to end of build rather than start to prevent colocated builds * escape dollar on docker image remove command * attempt to kill all existing jobs * fix compile issue due to killall_jobs * fix compile issue due to killall_jobs pt2 * fix spelling * make all variables environment variables * add logic to delete images locally after pushing * wrap testing phase with try / finally so that junit reports are always evaluated * change the behaviour around post build actions * break implicit link between testing phase and image building phase, allowing testing to occur without a rebuild and push of image * prepend registry name to provided tag * allow tasks to specify whether they wish to stream output from containers * add timestamps directive to Jenkinsfile to have timing info on output * make KubesTest resilient against transient pod failures in k8s * increase CPU request * add logic to allow specifying container resource requests * attempt to run unit and integration tests in parallel * change unit tests to use 3 cores to allow co-location on 8c machines * join grouped tests together to give pod meaningful name * add step to renew token with GKE * change renew step to use pods instead of nodes * fix bug where memory request is not correctly passed to pod * disable unit tests for now * [CORDA-2368] Added exception handling for missing files that displays appropriate messages rather than defaulting to file names. (#5472) * NOTIK Minor adjustments to Detekt rules to reflect current working practises (#5498) * Minor adjustments to rules to reflect current working practises (including IntelliJ code style alignment) * Adjust another rule in line with existing code style. * rebaseline with changed detekt ruleset * rebaseline with NodeStartup changes
117 lines
4.1 KiB
Groovy
117 lines
4.1 KiB
Groovy
evaluationDependsOn(":node:capsule")
|
|
|
|
import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage
|
|
import com.bmuschko.gradle.docker.tasks.image.DockerPushImage
|
|
|
|
import java.time.LocalDateTime
|
|
import java.time.format.DateTimeFormatter
|
|
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'application'
|
|
apply plugin: 'com.bmuschko.docker-remote-api'
|
|
|
|
// We need to set mainClassName before applying the shadow plugin.
|
|
mainClassName = 'net.corda.core.ConfigExporterMain'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
repositories {
|
|
maven {
|
|
url "${artifactory_contextUrl}/corda-releases"
|
|
}
|
|
maven {
|
|
url "${artifactory_contextUrl}/corda-dev"
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
artifactoryCorda
|
|
}
|
|
|
|
dependencies{
|
|
compile project(':node')
|
|
artifactoryCorda "net.corda:corda:${project.version}"
|
|
}
|
|
|
|
shadowJar {
|
|
baseName = 'config-exporter'
|
|
classifier = null
|
|
version = null
|
|
zip64 true
|
|
}
|
|
|
|
docker{
|
|
registryCredentials {
|
|
url = System.env.DOCKER_URL ?: "hub.docker.com"
|
|
username = System.env.DOCKER_USERNAME
|
|
password = System.env.DOCKER_PASSWORD
|
|
}
|
|
}
|
|
|
|
task buildDockerFolder(dependsOn: [":node:capsule:buildCordaJAR", shadowJar]) {
|
|
doLast {
|
|
def cordaJar = configurations.artifactoryCorda.singleFile
|
|
project.copy {
|
|
into new File(project.buildDir, "docker-temp")
|
|
from "src/bash/run-corda.sh"
|
|
from cordaJar.path
|
|
from shadowJar.archivePath
|
|
from "src/config/starting-node.conf"
|
|
from "src/bash/generate-config.sh"
|
|
from "src/docker/DockerfileAL"
|
|
from "src/docker/Dockerfile"
|
|
from "src/docker/Dockerfile11"
|
|
rename(cordaJar.name, "corda.jar")
|
|
rename(shadowJar.archivePath.name, "config-exporter.jar")
|
|
}
|
|
}
|
|
}
|
|
|
|
final String runTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))
|
|
final String suffix = project.version.toString().toLowerCase().contains("snapshot") ? runTime : "RELEASE"
|
|
final zuluBuildTags = ["corda/corda-zulu-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:${suffix}", "corda/corda-zulu-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:latest"]
|
|
final correttoBuildTags = ["corda/corda-corretto-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:${suffix}", "corda/corda-corretto-java${JavaVersion.current()}-${project.version.toString().toLowerCase()}:latest"]
|
|
|
|
task buildOfficialZuluDockerImage(type: DockerBuildImage, dependsOn: [buildDockerFolder]) {
|
|
inputDir = new File(project.buildDir, "docker-temp")
|
|
tags = zuluBuildTags
|
|
dockerFile = new File(new File(project.buildDir, "docker-temp"), "Dockerfile")
|
|
}
|
|
|
|
task buildOfficialZuluJDK11DockerImage(type: DockerBuildImage, dependsOn: [buildDockerFolder]) {
|
|
inputDir = new File(project.buildDir, "docker-temp")
|
|
tags = zuluBuildTags
|
|
dockerFile = new File(new File(project.buildDir, "docker-temp"), "Dockerfile11")
|
|
}
|
|
|
|
task buildOfficialCorrettoDockerImage(type: DockerBuildImage, dependsOn: [buildDockerFolder]) {
|
|
inputDir = new File(project.buildDir, "docker-temp")
|
|
tags = correttoBuildTags
|
|
dockerFile = new File(new File(project.buildDir, "docker-temp"), "DockerfileAL")
|
|
}
|
|
|
|
task pushZuluTimeStampedTag('type': DockerPushImage, dependsOn: [buildOfficialZuluDockerImage]){
|
|
imageName = zuluBuildTags[0]
|
|
}
|
|
|
|
task pushZuluLatestTag('type': DockerPushImage, dependsOn: [buildOfficialZuluDockerImage]){
|
|
imageName = zuluBuildTags[1]
|
|
}
|
|
|
|
task pushZulu11TimeStampedTag('type': DockerPushImage, dependsOn: [buildOfficialZuluJDK11DockerImage]){
|
|
imageName = zuluBuildTags[0]
|
|
}
|
|
|
|
task pushZulu11LatestTag('type': DockerPushImage, dependsOn: [buildOfficialZuluJDK11DockerImage]){
|
|
imageName = zuluBuildTags[1]
|
|
}
|
|
|
|
task pushCorrettoTimeStampedTag('type': DockerPushImage, dependsOn: [buildOfficialCorrettoDockerImage]){
|
|
imageName = correttoBuildTags[0]
|
|
}
|
|
|
|
task pushCorrettoLatestTag('type': DockerPushImage, dependsOn: [buildOfficialCorrettoDockerImage]){
|
|
imageName = correttoBuildTags[1]
|
|
}
|
|
|
|
task pushOfficialImages(dependsOn: [pushZuluTimeStampedTag, pushZuluLatestTag, pushCorrettoTimeStampedTag, pushCorrettoLatestTag])
|