forked from surveyjs/survey-creator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
devops-integration.yaml
130 lines (112 loc) · 3.72 KB
/
devops-integration.yaml
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Node.js
# Build a general Node.js project with npm.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
resources:
repositories:
- repository: Service # The name used to reference this repository in the checkout step
type: github
endpoint: surveyjs
name: surveyjs/service
trigger:
batch: true
branches:
include:
- master
tags:
exclude:
- v*.*.*
pool:
vmImage: 'Ubuntu-16.04'
steps:
- checkout: self
- checkout: Service
persistCredentials: true
clean: true
- task: NodeTool@0
inputs:
versionSpec: '8.x'
displayName: 'Install Node.js'
- script: |
cd $(Build.SourcesDirectory)/survey-creator
npm install
displayName: 'npm install'
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'specific'
project: 'af2804d2-859a-4705-9ef5-cdf46d1d5d4f'
pipeline: '7'
specificBuildWithTriggering: true
buildVersionToDownload: 'latest'
downloadType: 'single'
artifactName: 'SurveyJSLibraryBuild'
downloadPath: '$(System.ArtifactsDirectory)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(System.ArtifactsDirectory)/SurveyJSLibraryBuild/packages/survey-knockout'
Contents: '**'
TargetFolder: '$(Build.SourcesDirectory)/survey-creator/node_modules/survey-knockout'
OverWrite: true
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'specific'
project: 'af2804d2-859a-4705-9ef5-cdf46d1d5d4f'
pipeline: '41'
specificBuildWithTriggering: true
buildVersionToDownload: 'latest'
downloadType: 'single'
artifactName: 'SurveyJSWidgetsBuild'
downloadPath: '$(System.ArtifactsDirectory)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(System.ArtifactsDirectory)/SurveyJSWidgetsBuild/packages/survey-widgets'
Contents: '**'
TargetFolder: '$(Build.SourcesDirectory)/survey-creator/node_modules/surveyjs-widgets'
OverWrite: true
- script: |
cd $(Build.SourcesDirectory)/survey-creator
npm run build_prod
displayName: 'build_prod'
- script: |
cd $(Build.SourcesDirectory)/survey-creator
npm run test_ci
displayName: 'unit tests'
- script: |
cd $(Build.SourcesDirectory)/survey-creator
npm run testcafe_ci
displayName: 'functional tests'
- script: |
cd $(Build.SourcesDirectory)/survey-creator
npm run doc_gen
displayName: 'generate docs'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)/survey-creator/docs'
TargetFolder: '$(Build.SourcesDirectory)/service/surveyjs.io/App_Data/DocsEditor'
CleanTargetFolder: true
displayName: 'copy generated docs to the local surveyjs/service repo'
# read about the problem with git output ($env:GIT_REDIRECT_STDERR = '2>&1') :
# https://github.com/microsoft/azure-pipelines-yaml/issues/248
# https://stackoverflow.com/questions/58485585/azure-pipeline-powershell-and-git-on-windows-server-2019-gives-error-in-output
- powershell: |
cd $(Build.SourcesDirectory)/service
$env:GIT_REDIRECT_STDERR = '2>&1'
git config --global user.email "kurmanov.work@gmail.com"
git config --global user.name "dmitrykurmanov"
git checkout master
git pull origin master
git fetch --tags --force
git add surveyjs.io/App_Data/DocsEditor
git commit -m "[skip ci] Updated survey-creator docs"
git pull origin master
git push origin master
displayName: 'git surveyjs/service push updated docs'
- task: CopyFiles@2
inputs:
SourceFolder: '$(Build.SourcesDirectory)/survey-creator/build'
targetFolder: $(Build.ArtifactStagingDirectory)/build
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'SurveyJSCreatorBuild'
publishLocation: 'Container'