forked from webex/react-widgets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Jenkinsfile.tab
72 lines (67 loc) · 2.69 KB
/
Jenkinsfile.tab
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
70
71
72
pipeline {
agent{
label 'BASIC_SLAVE&&!beefy_BASIC_SLAVE'
}
options {
timeout(time: 2, unit: 'HOURS')
timestamps()
ansiColor('xterm')
}
stages {
stage('Checkout') {
steps{
checkout poll: false, scm: [$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [],
submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'a8c27fc2-52cd-499c-b648-0355ed5ca72a', url: 'https://github.com/webex/react-ciscospark']]]
}
}
stage('Install') {
steps {
withCredentials([
string(credentialsId: 'WIDGETS_NPM_TOKEN', variable: 'WIDGETS_NPM_TOKEN')
]) {
sh '''#!/bin/bash -e
set +x
rm .nvmrc
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
~/.nvm/nvm.sh
echo \'//registry.npmjs.org/:_authToken=${WIDGETS_NPM_TOKEN}\' >> .npmrc
source ~/.bashrc || true
source ~/.profile || true
nvm install 8.11.3
nvm use 8.11.3
npm install -g [email protected]
npm install
rm .npmrc
'''
}
}
}
stage('Test') {
steps {
withCredentials([
string(credentialsId: 'ddfd04fb-e00a-4df0-9250-9a7cb37bce0e', variable: 'CISCOSPARK_CLIENT_SECRET'),
usernamePassword(credentialsId: 'SAUCE_LABS_VALIDATED_MERGE_CREDENTIALS', passwordVariable: 'SAUCE_ACCESS_KEY', usernameVariable: 'SAUCE_USERNAME'),
string(credentialsId: 'CISCOSPARK_APPID_SECRET', variable: 'CISCOSPARK_APPID_SECRET'),
]) {
sh '''#!/bin/bash -e
source ~/.nvm/nvm.sh
nvm use 8.11.3
NODE_ENV=test npm run build:package widget-space && npm run build:package widget-recents
set -m
(
(CISCOSPARK_CLIENT_ID=C873b64d70536ed26df6d5f81e01dafccbd0a0af2e25323f7f69c7fe46a7be340 SAUCE=true PORT=4569 SAUCE_CONNECT_PORT=5006 BROWSER=firefox VERSION=beta npm run test:integration || kill 0) &
(sleep 60; CISCOSPARK_CLIENT_ID=C873b64d70536ed26df6d5f81e01dafccbd0a0af2e25323f7f69c7fe46a7be340 SAUCE=true PORT=4568 SAUCE_CONNECT_PORT=5005 BROWSER=chrome VERSION=beta npm run test:integration || kill 0) &
(sleep 120; CISCOSPARK_CLIENT_ID=C873b64d70536ed26df6d5f81e01dafccbd0a0af2e25323f7f69c7fe46a7be340 SAUCE=true PORT=4567 SAUCE_CONNECT_PORT=5004 BROWSER=chrome PLATFORM="windows 10" VERSION=beta npm run test:integration || kill 0) &
wait
)
'''
}
}
}
}
post {
always {
junit '**/reports/junit/wdio/*.xml'
}
}
}