diff --git a/.ci/PublishHelmChart/Jenkinsfile_PublishHelmChart b/.ci/PublishHelmChart/Jenkinsfile_PublishHelmChart index 8f62b3c5d84..71e387d7bc0 100644 --- a/.ci/PublishHelmChart/Jenkinsfile_PublishHelmChart +++ b/.ci/PublishHelmChart/Jenkinsfile_PublishHelmChart @@ -1,29 +1,34 @@ #! groovy @Library('corda-shared-build-pipeline-steps@5.1') _ +import com.r3.build.agents.KubernetesAgent import com.r3.build.enums.BuildEnvironment +import com.r3.build.enums.KubernetesCluster import com.r3.build.utils.PublishingUtils -int cpus = 1 -BuildEnvironment buildEnvironment = BuildEnvironment.AMD64_LINUX_JAVA17 +/** + * Jenkins Kubernetes agent + */ +KubernetesAgent k8s = new KubernetesAgent( + BuildEnvironment.AMD64_LINUX_JAVA17, + KubernetesCluster.JenkinsAgents, + 1 +) PublishingUtils publishingUtils = new PublishingUtils(this) pipeline { agent { kubernetes { - cloud "eks-e2e" - yaml kubernetesBuildAgentYaml('build', buildEnvironment, cpus) + cloud k8s.buildCluster.cloudName + yaml k8s.JSON yamlMergeStrategy merge() // important to keep tolerations from the inherited template idleMinutes 15 podRetention always() - label ([ - "gradle-build", - "${cpus}cpus", - "${buildEnvironment.jenkinsLabel}" - ].join('-')) + nodeSelector k8s.nodeSelector + label k8s.jenkinsLabel showRawYaml false - defaultContainer 'build' + defaultContainer k8s.defaultContainer.name } } diff --git a/.ci/e2eTests/JenkinsfileCombinedWorker b/.ci/e2eTests/JenkinsfileCombinedWorker index 2aea2550f37..eab70ea2faa 100644 --- a/.ci/e2eTests/JenkinsfileCombinedWorker +++ b/.ci/e2eTests/JenkinsfileCombinedWorker @@ -90,7 +90,7 @@ pipeline { REST_TLS_PATH = "${env.WORKSPACE}/applications/workers/release/combined-worker/tls/rest/rest_worker.pfx" VM_PARAMETERS = "-Dco.paralleluniverse.fibers.verifyInstrumentation=true" LOG4J_PARAMETERS = "-Dlog4j.configurationFile=log4j2-console.xml" - PROGRAM_PARAMETERS = "--instance-id=0 -mbus.busType=DATABASE -spassphrase=password -ssalt=salt -ddatabase.user=u${postgresDb} -ddatabase.pass=password -ddatabase.jdbc.url=jdbc:postgresql://${postgresHost}:${postgresPort}/${postgresDb} -ddatabase.jdbc.directory=${JDBC_PATH} -rtls.keystore.path=${REST_TLS_PATH} -rtls.keystore.password=mySecretPassword --serviceEndpoint=endpoints.crypto=localhost:7004 --serviceEndpoint=endpoints.verification=localhost:7004 --serviceEndpoint=endpoints.uniqueness=localhost:7004 --serviceEndpoint=endpoints.persistence=localhost:7004" + PROGRAM_PARAMETERS = "--instance-id=0 -mbus.busType=DATABASE -spassphrase=password -ssalt=salt -ddatabase.user=u${postgresDb} -ddatabase.pass=password -ddatabase.jdbc.url=jdbc:postgresql://${postgresHost}:${postgresPort}/${postgresDb} -ddatabase.jdbc.directory=${JDBC_PATH} -rtls.keystore.path=${REST_TLS_PATH} -rtls.keystore.password=mySecretPassword --serviceEndpoint=endpoints.crypto=localhost:7004 --serviceEndpoint=endpoints.verification=localhost:7004 --serviceEndpoint=endpoints.uniqueness=localhost:7004 --serviceEndpoint=endpoints.persistence=localhost:7004 --serviceEndpoint=endpoints.tokenSelection=localhost:7004" WORKING_DIRECTORY = "${env.WORKSPACE}" } steps { diff --git a/.ci/e2eTests/JenkinsfileMultiClusterTest b/.ci/e2eTests/JenkinsfileMultiClusterTest deleted file mode 100644 index ba8376e3abb..00000000000 --- a/.ci/e2eTests/JenkinsfileMultiClusterTest +++ /dev/null @@ -1,10 +0,0 @@ -@Library('corda-shared-build-pipeline-steps@5.1') _ - -endToEndPipeline( - dailyBuildCron: '0 */12 * * *', - multiCluster: true, - gradleTestTargetsToExecute: ['smokeTest', 'e2eTest'], - usePackagedCordaHelmChart: false, - gradleAdditionalArgs : '-PrunMultiClusterTests -Dscan.tag.MultiCluster', - javaVersion: '17' -) diff --git a/.ci/e2eTests/corda.yaml b/.ci/e2eTests/corda.yaml index 0d59d0f3b00..91186fe7b21 100644 --- a/.ci/e2eTests/corda.yaml +++ b/.ci/e2eTests/corda.yaml @@ -7,6 +7,28 @@ bootstrap: valueFrom: secretKeyRef: key: "postgres-password" + stateManager: + flow: + username: + value: "state-manager-user" + password: + valueFrom: + secretKeyRef: + key: "password" + flowMapper: + username: + value: "state-manager-user" + password: + valueFrom: + secretKeyRef: + key: "password" + tokenSelection: + username: + value: "state-manager-user" + password: + valueFrom: + secretKeyRef: + key: "password" kafka: sasl: username: @@ -73,6 +95,15 @@ workers: secretKeyRef: name: "kafka-credentials" key: "flow" + stateManager: + db: + name: state-manager + username: + value: "state-manager-user" + password: + valueFrom: + secretKeyRef: + key: "password" flowMapper: kafka: sasl: @@ -83,6 +114,15 @@ workers: secretKeyRef: name: "kafka-credentials" key: "flowMapper" + stateManager: + db: + name: state-manager + username: + value: "state-manager-user" + password: + valueFrom: + secretKeyRef: + key: "password" verification: kafka: sasl: @@ -143,6 +183,15 @@ workers: secretKeyRef: name: "kafka-credentials" key: "tokenSelection" + stateManager: + db: + name: state-manager + username: + value: "state-manager-user" + password: + valueFrom: + secretKeyRef: + key: "password" rest: kafka: sasl: diff --git a/.github/workflows/check-pr-title.yml b/.github/workflows/check-pr-title.yml index 1df0809a302..b47207e351a 100644 --- a/.github/workflows/check-pr-title.yml +++ b/.github/workflows/check-pr-title.yml @@ -9,6 +9,6 @@ jobs: steps: - uses: morrisoncole/pr-lint-action@v1.6.1 with: - title-regex: '^((CORDA|EG|ENT|INFRA|CORE|DOC|ES)-\d+)(.*)' + title-regex: '^((CORDA|EG|ENT|INFRA|CORE|DOC|ES|DA5)-\d+)(.*)' on-failed-regex-comment: "PR title failed to match regex -> `%regex%`" repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/remove-stale-branches.yml b/.github/workflows/remove-stale-branches.yml new file mode 100644 index 00000000000..25dd1b9f8c4 --- /dev/null +++ b/.github/workflows/remove-stale-branches.yml @@ -0,0 +1,19 @@ +name: 'Remove stale branches' +on: + schedule: + - cron: '0 0 * * 1-5' + +jobs: + remove-stale-branches: + name: Remove stale branches + runs-on: ubuntu-latest + steps: + - uses: fpicalausa/remove-stale-branches@v1.5.8 + with: + dry-run: true + days-before-branch-stale: 30 + days-before-branch-delete: 14 + stale-branch-message: "@{author} The branch [{branchName}]({branchUrl}) hasn't been updated in the last 30 days and is marked as stale. It will be removed in 14 days.\r\nIf you want to keep this branch around, delete this comment or add new commits to this branch." + exempt-protected-branches: true + exempt-branches-regex: "^(release\\/|feature\\/|poc\\/).*" + operations-per-run: 30 diff --git a/.run/Combined Worker Local.run.xml b/.run/Combined Worker Local.run.xml index ec8e493d59d..c518d5853f4 100644 --- a/.run/Combined Worker Local.run.xml +++ b/.run/Combined Worker Local.run.xml @@ -2,7 +2,7 @@