feat(ci): trigger E2E from meta build for releases

The method of triggering new E2E builds from the Linux build makes sense
for PRs, but doesn't make as much sense for nightly or release builds.

By triggering it this way we will see the result as part of the whole
build that includes all platforms and all tests.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2023-10-26 13:19:33 +02:00
parent 8cee3f500a
commit cfd82ee094
No known key found for this signature in database
GPG Key ID: FE65CD384D5BF7B4
2 changed files with 19 additions and 17 deletions

View File

@ -8,7 +8,7 @@ pipeline {
timestamps()
disableConcurrentBuilds()
/* Prevent Jenkins jobs from running forever */
timeout(time: 60, unit: 'MINUTES')
timeout(time: 90, unit: 'MINUTES')
/* Limit builds retained */
buildDiscarder(logRotator(
numToKeepStr: '30',
@ -28,9 +28,6 @@ pipeline {
stages {
stage('Build') {
parallel {
stage('Linux/E2E') { steps { script {
linux_e2e = jenkins.Build('status-desktop/systems/linux/x86_64/tests-e2e')
} } }
stage('Linux/x86_64') { steps { script {
linux_x86_64 = jenkins.Build('status-desktop/systems/linux/x86_64/package')
} } }
@ -45,6 +42,19 @@ pipeline {
} } }
}
}
stage('Tests') {
parallel {
stage('Linux/E2E/old') { steps { script {
linux_e2e = jenkins.Build('status-desktop/systems/linux/x86_64/tests-e2e-old')
} } }
stage('Linux/E2E/new') { steps { script {
linux_e2e = build(
job: 'status-desktop/systems/linux/x86_64/tests-e2e-new',
parameters: jenkins.mapToParams([BUILD_SOURCE: linux_x86_64.fullProjectName]),
)
} } }
}
}
stage('Archive') {
steps { script {
sh('rm -f pkg/*')

View File

@ -107,10 +107,10 @@ pipeline {
}
stage('E2E') {
when { expression { getE2EBuildType() != null } }
when { expression { utils.isPRBuild() } }
steps { script {
build(
job: "status-desktop/e2e/${getE2EBuildType()}",
job: 'status-desktop/e2e/prs',
parameters: jenkins.mapToParams([BUILD_SOURCE: JOB_NAME]),
wait: false
)
@ -131,14 +131,6 @@ def getArch() {
}
}
def getE2EBuildType() {
if (utils.isPRBuild()) { return 'prs' }
def parent = utils.parentOrCurrentBuild()
if (parent == null) { return null }
if (parent.getFullDisplayName() =~ /nightly/) { return 'nightly' }
return null
}
def getMockedKeycardLibDefault() {
return utils.isReleaseBuild() ? 'false' : 'true'
}