Skip to content

Commit

Permalink
SNOW-937199 Use JDK 11 and 17 in Jenkins (#1564)
Browse files Browse the repository at this point in the history
  • Loading branch information
sfc-gh-pfus committed Nov 30, 2023
1 parent 4db5434 commit dcb74ed
Showing 1 changed file with 48 additions and 31 deletions.
79 changes: 48 additions & 31 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import groovy.json.JsonOutput

class JdbcJobDefinition {
String jdk
List params
String jobToRun
String runName
}

pipeline {
// TODO Please migrate this to C7 as sfc-dev2 servers do not support c6 nodes
agent { label 'regular-memory-node' }
Expand All @@ -23,7 +30,6 @@ pipeline {
}

timestamps {
// TODO Please migrate this to C7 as sfc-dev2 servers do not support c6 nodes
node('regular-memory-node') {
stage('checkout') {
scmInfo = checkout scm
Expand All @@ -40,39 +46,50 @@ timestamps {
'''.stripMargin()
}

params = [
string(name: 'client_git_branch', value: scmInfo.GIT_BRANCH),
string(name: 'client_git_commit', value: scmInfo.GIT_COMMIT),
string(name: 'branch', value: 'main'),
string(name: 'TARGET_DOCKER_TEST_IMAGE', value: 'jdbc-centos6-default'),
string(name: 'parent_job', value: env.JOB_NAME),
string(name: 'parent_build_number', value: env.BUILD_NUMBER),
string(name: 'timeout_value', value: '420'),
string(name: 'PR_Key', value: scmInfo.GIT_BRANCH.substring(3))
]
stage('Test') {
try {
def commit_hash = "main" // default which we want to override
def bptp_tag = "bptp-built"
def commit_hash = "main" // default which we want to override
def bptp_tag = "bptp-built"
try {
def response = authenticatedGithubCall("https://api.github.com/repos/snowflakedb/snowflake/git/ref/tags/${bptp_tag}")
commit_hash = response.object.sha
// Append the bptp-built commit sha to params
params += [string(name: 'svn_revision', value: commit_hash)]
} catch(Exception e) {
println("Exception computing commit hash from: ${response}")
} catch (Exception e) {
println("error when calling Github API: ${e.message}")
e.printStackTrace()
}

jdkToParams = ['openjdk8': 'jdbc-centos7-openjdk8', 'openjdk11': 'jdbc-centos7-openjdk11', 'openjdk17': 'jdbc-centos7-openjdk17'].collectEntries { jdk, image ->
return [(jdk): [
string(name: 'client_git_branch', value: scmInfo.GIT_BRANCH),
string(name: 'client_git_commit', value: scmInfo.GIT_COMMIT),
string(name: 'branch', value: 'main'),
string(name: 'TARGET_DOCKER_TEST_IMAGE', value: image),
string(name: 'parent_job', value: env.JOB_NAME),
string(name: 'parent_build_number', value: env.BUILD_NUMBER),
string(name: 'timeout_value', value: '420'),
string(name: 'PR_Key', value: scmInfo.GIT_BRANCH.substring(3)),
string(name: 'svn_revision', value: commit_hash)
]]
}

jobDefinitions = jdkToParams.collectMany { jdk, params ->
return [
'RT-LanguageJDBC1-PC' : "Test JDBC 1 - $jdk",
'RT-LanguageJDBC2-PC' : "Test JDBC 2 - $jdk",
'RT-LanguageJDBC3-PC' : "Test JDBC 3 - $jdk",
'RT-LanguageJDBC4-PC' : "Test JDBC 4 - $jdk",
'RT-LanguageJDBC-CodeCoverage-PC' : "CodeCoverage JDBC - $jdk"
].collect { jobToRun, runName ->
return new JdbcJobDefinition(
jdk: jdk,
params: params,
jobToRun: jobToRun,
runName: runName
)
}
parallel (
'Test JDBC 1': { build job: 'RT-LanguageJDBC1-PC',parameters: params
},
'Test JDBC 2': { build job: 'RT-LanguageJDBC2-PC',parameters: params
},
'Test JDBC 3': { build job: 'RT-LanguageJDBC3-PC',parameters: params
},
'Test JDBC 4': { build job: 'RT-LanguageJDBC4-PC',parameters: params
},
'CodeCoverage JDBC': { build job: 'RT-LanguageJDBC-CodeCoverage-PC',parameters: params
}
)
}.collectEntries { jobDefinition ->
return [(jobDefinition.runName): { build job: jobDefinition.jobToRun, parameters: jobDefinition.params }]
}
stage('Test') {
parallel (jobDefinitions)
}
}
}
Expand Down

0 comments on commit dcb74ed

Please sign in to comment.