-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathJenkinsfile
More file actions
70 lines (63 loc) · 1.72 KB
/
Jenkinsfile
File metadata and controls
70 lines (63 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
node {
try {
skipDefaultCheckout(true)
properties([
parameters([
credentials(credentialType: 'com.browserstack.automate.ci.jenkins.BrowserStackCredentials', defaultValue: '', description: 'Select your BrowserStack Username', name: 'BROWSERSTACK_USERNAME', required: true),
[$class: 'ExtensibleChoiceParameterDefinition',
choiceListProvider: [
$class: 'TextareaChoiceListProvider',
addEditedValue: false,
choiceListText: '''bstack-single
bstack-parallel
bstack-parallel-browsers
bstack-local
bstack-local-parallel
bstack-local-parallel-browsers''',
defaultChoice: 'bstack-parallel'
],
description: 'Select the test you would like to run',
editable: false,
name: 'TEST_TYPE']
])
])
stage('Setup') {
cleanWs()
// We need to explicitly checkout from SCM here
checkout scm
}
stage('Pull from Github') {
dir('test') {
git branch: 'main', changelog: false, poll: false, url: 'https://github.com/browserstack/browserstack-examples-cypress.git'
}
}
stage('Install Dependencies'){
sh '''
cd test
npm install
npm upgrade browserstack-cypress-cli
'''
}
stage('Run Test(s)') {
if("${params.TEST_TYPE}".contains('bstack-local')){
browserstack(credentialsId: "${params.BROWSERSTACK_USERNAME}", localConfig: [localOptions: '', localPath: '']) {
sh returnStatus:true,script: '''
cd test
npm run ${TEST_TYPE}
'''
}
} else {
browserstack(credentialsId: "${params.BROWSERSTACK_USERNAME}") {
sh returnStatus:true,script: '''
cd test
npm run ${TEST_TYPE}
'''
}
}
}
} catch (e) {
currentBuild.result = 'FAILURE'
throw e
}
}