@toptal/davinci-ci 5.0.1-alpha-fx-4384-add-crucial-options-to-davinci-qa-command-2625f1bd.16 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 5.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#2201](https://github.com/toptal/davinci/pull/2201) [`d549786c`](https://github.com/toptal/davinci/commit/d549786c35d013e73d19d9fd54cdbdc7bd0723be) Thanks [@dmaklygin](https://github.com/dmaklygin)!
|
|
8
|
+
- remove legacy Dockerfile and Jenkinsfile
|
|
9
|
+
|
|
3
10
|
## 5.0.0
|
|
4
11
|
|
|
5
12
|
### Major Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/davinci-ci",
|
|
3
|
-
"version": "5.0.1
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "Continuos integrations tools for frontend projects",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -38,12 +38,11 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@commitlint/cli": "^17.6.7",
|
|
40
40
|
"@commitlint/config-conventional": "^17.1.0",
|
|
41
|
-
"@toptal/davinci-cli-shared": "2.3.
|
|
41
|
+
"@toptal/davinci-cli-shared": "2.3.7",
|
|
42
42
|
"danger": "^11.2.2",
|
|
43
43
|
"markdown-table": "^2.0.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@jest/globals": "^29.4.2"
|
|
47
|
-
}
|
|
48
|
-
"gitHead": "2625f1bd114f370debef16e189ee44dd3c6b6ef7"
|
|
47
|
+
}
|
|
49
48
|
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
FROM node:18
|
|
2
|
-
|
|
3
|
-
ARG NPM_TOKEN
|
|
4
|
-
ENV NPM_TOKEN ${NPM_TOKEN}
|
|
5
|
-
|
|
6
|
-
# Change default 'node' user id to match jenkins CI user id
|
|
7
|
-
# so when we will be running container from CI it would have
|
|
8
|
-
# all necessary rights for npm/yarn publish
|
|
9
|
-
RUN groupmod -g 469 node && usermod -u 469 -g 469 node
|
|
10
|
-
|
|
11
|
-
WORKDIR /app
|
|
12
|
-
RUN chown -R node /app
|
|
13
|
-
|
|
14
|
-
USER node
|
|
15
|
-
|
|
16
|
-
# Add github.com to known ssh hosts
|
|
17
|
-
RUN mkdir ~/.ssh
|
|
18
|
-
RUN ssh-keyscan github.com >> ~/.ssh/known_hosts
|
|
19
|
-
|
|
20
|
-
# Needs to be updated for publishing package to npm
|
|
21
|
-
RUN printf '//registry.npmjs.org/:_authToken=${NPM_TOKEN}\nalways-auth=true\n' > .npmrc
|
|
22
|
-
RUN yarn config set registry https://registry.npmjs.org
|
|
23
|
-
|
|
24
|
-
# Enables layer caching
|
|
25
|
-
COPY --chown=node:node package.json yarn.lock ./
|
|
26
|
-
RUN yarn install --frozen-lockfile --network-timeout 120000
|
|
27
|
-
|
|
28
|
-
COPY --chown=node:node . /app
|
|
29
|
-
|
|
30
|
-
RUN yarn build
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
@Library('globalLibrary@master') _
|
|
2
|
-
|
|
3
|
-
image = null
|
|
4
|
-
|
|
5
|
-
repositoryName = REPOSITORY_NAME
|
|
6
|
-
repositorySSHUrl = "git@github.com:toptal/${repositoryName}.git"
|
|
7
|
-
env.REPO_NAME_FOR_COMMIT = "toptal/${repositoryName}"
|
|
8
|
-
|
|
9
|
-
pipeline {
|
|
10
|
-
agent { label 'slave_aws' }
|
|
11
|
-
|
|
12
|
-
options {
|
|
13
|
-
ansiColor('xterm')
|
|
14
|
-
timestamps()
|
|
15
|
-
timeout(time: params.TIMEOUT, unit: 'MINUTES')
|
|
16
|
-
buildDiscarder(logRotator(numToKeepStr: '20'))
|
|
17
|
-
skipDefaultCheckout()
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
parameters {
|
|
21
|
-
string(name: 'BRANCH', defaultValue: 'master', description: 'Branch or tag to build')
|
|
22
|
-
string(name: 'IMAGE_NAME', description: 'Image name')
|
|
23
|
-
string(name: 'VERSION', description: 'Tag for the created docker image')
|
|
24
|
-
string(name: 'ALIAS_VERSIONS', defaultValue: "", description: 'Comma separated list of alias tags for the created docker image. Ex: "master,latest"')
|
|
25
|
-
string(name: 'REPOSITORY_NAME', description: 'Repository name')
|
|
26
|
-
string(name: 'DAVINCI_BRANCH', defaultValue: 'master', description: 'Davinci branch to checkout')
|
|
27
|
-
string(name: 'TIMEOUT', defaultValue: '25', description: 'Timeout value for the job (in minutes)')
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
environment {
|
|
31
|
-
GCE_ACCOUNT_KEY = credentials('jenkins-storage-administrator')
|
|
32
|
-
NPM_TOKEN = credentials('npm-token-for-toptal-private-registry')
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
stages {
|
|
36
|
-
|
|
37
|
-
stage('Git checkouts') {
|
|
38
|
-
parallel {
|
|
39
|
-
|
|
40
|
-
stage('Git checkout project') {
|
|
41
|
-
steps {
|
|
42
|
-
dir(repositoryName) {
|
|
43
|
-
info "== Checking out ${BRANCH} =="
|
|
44
|
-
gitCheckout(
|
|
45
|
-
branches: BRANCH,
|
|
46
|
-
credentials: [username: 'toptal-build', description: "toptal-build-ssh-key"],
|
|
47
|
-
url: repositorySSHUrl,
|
|
48
|
-
additionalBehaviours: [
|
|
49
|
-
cleanBeforeCheckout: true
|
|
50
|
-
])
|
|
51
|
-
script { env.COMMIT_FOR_ANVIL = gitCommit() }
|
|
52
|
-
success "== Checked out ${BRANCH} at ${gitCommit()}"
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
} //checkout project
|
|
56
|
-
|
|
57
|
-
stage('Git checkout davinci') {
|
|
58
|
-
steps {
|
|
59
|
-
dir('davinci') {
|
|
60
|
-
info "== Checking out davinci=="
|
|
61
|
-
gitCheckout(
|
|
62
|
-
branches: DAVINCI_BRANCH,
|
|
63
|
-
credentials: [username: 'toptal-build', description: "toptal-build-ssh-key"],
|
|
64
|
-
url: 'git@github.com:toptal/davinci.git',
|
|
65
|
-
additionalBehaviours: [
|
|
66
|
-
cleanBeforeCheckout: true,
|
|
67
|
-
])
|
|
68
|
-
success "== Checked out"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
} //checkout davinci
|
|
72
|
-
|
|
73
|
-
} // parallel
|
|
74
|
-
} //checkout
|
|
75
|
-
|
|
76
|
-
stage('Build image') {
|
|
77
|
-
steps {
|
|
78
|
-
script {
|
|
79
|
-
sh "gcloud auth activate-service-account --key-file=$GCE_ACCOUNT_KEY"
|
|
80
|
-
|
|
81
|
-
if (!isDockerImagePresentRemotely("gcr.io/toptal-hub/${IMAGE_NAME}", VERSION)) {
|
|
82
|
-
image = docker.build(
|
|
83
|
-
"toptal-hub/${IMAGE_NAME}:${VERSION}",
|
|
84
|
-
"""-f ./davinci/packages/ci/src/configs/docker/Dockerfile \
|
|
85
|
-
--build-arg NPM_TOKEN=${NPM_TOKEN} \
|
|
86
|
-
./${repositoryName}"""
|
|
87
|
-
)
|
|
88
|
-
success "== Built image for version ${VERSION} =="
|
|
89
|
-
} else {
|
|
90
|
-
success "== Found image for version ${VERSION} =="
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
if (!isDockerImagePresentRemotely("us-central1-docker.pkg.dev/toptal-hub/containers/${IMAGE_NAME}", VERSION)) {
|
|
94
|
-
image = docker.build(
|
|
95
|
-
"us-central1-docker.pkg.dev/toptal-hub/containers/${IMAGE_NAME}:${VERSION}",
|
|
96
|
-
"""-f ./davinci/packages/ci/src/configs/docker/Dockerfile \
|
|
97
|
-
--build-arg NPM_TOKEN=${NPM_TOKEN} \
|
|
98
|
-
./${repositoryName}"""
|
|
99
|
-
)
|
|
100
|
-
success "== Built image for version ${VERSION} =="
|
|
101
|
-
} else {
|
|
102
|
-
success "== Found image for version ${VERSION} =="
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
} //build image
|
|
107
|
-
|
|
108
|
-
stage('Push image') {
|
|
109
|
-
steps {
|
|
110
|
-
script {
|
|
111
|
-
if (image) {
|
|
112
|
-
docker.withRegistry('https://gcr.io/toptal-hub/') {
|
|
113
|
-
image.push(VERSION)
|
|
114
|
-
if(ALIAS_VERSIONS) {
|
|
115
|
-
ALIAS_VERSIONS.split(',').each { aliasVersion ->
|
|
116
|
-
image.push(aliasVersion)
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
docker.withRegistry('us-central1-docker.pkg.dev/toptal-hub/containers/') {
|
|
121
|
-
image.push(VERSION)
|
|
122
|
-
if(ALIAS_VERSIONS) {
|
|
123
|
-
ALIAS_VERSIONS.split(',').each { aliasVersion ->
|
|
124
|
-
image.push(aliasVersion)
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
success "== Pushed image with tag ${VERSION} =="
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
} //push image
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
post {
|
|
136
|
-
always {
|
|
137
|
-
script {
|
|
138
|
-
sendBuildData(currentBuild)
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
<flow-definition plugin="workflow-job@2.35">
|
|
2
|
-
<actions>
|
|
3
|
-
<org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobAction plugin="pipeline-model-definition@1.3.9"/>
|
|
4
|
-
<org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobPropertyTrackerAction plugin="pipeline-model-definition@1.3.9">
|
|
5
|
-
<jobProperties>
|
|
6
|
-
<string>jenkins.model.BuildDiscarderProperty</string>
|
|
7
|
-
</jobProperties>
|
|
8
|
-
<triggers/>
|
|
9
|
-
<parameters>
|
|
10
|
-
<string>BRANCH</string>
|
|
11
|
-
<string>IMAGE_NAME</string>
|
|
12
|
-
<string>VERSION</string>
|
|
13
|
-
<string>ALIAS_VERSIONS</string>
|
|
14
|
-
<string>REPOSITORY_NAME</string>
|
|
15
|
-
<string>DAVINCI_BRANCH</string>
|
|
16
|
-
<string>TIMEOUT</string>
|
|
17
|
-
</parameters>
|
|
18
|
-
<options>
|
|
19
|
-
<string>skipDefaultCheckout</string>
|
|
20
|
-
</options>
|
|
21
|
-
</org.jenkinsci.plugins.pipeline.modeldefinition.actions.DeclarativeJobPropertyTrackerAction>
|
|
22
|
-
</actions>
|
|
23
|
-
<description></description>
|
|
24
|
-
<keepDependencies>false</keepDependencies>
|
|
25
|
-
<properties>
|
|
26
|
-
<hudson.model.ParametersDefinitionProperty>
|
|
27
|
-
<parameterDefinitions>
|
|
28
|
-
<hudson.model.StringParameterDefinition>
|
|
29
|
-
<name>BRANCH</name>
|
|
30
|
-
<description>Branch or tag to build</description>
|
|
31
|
-
<defaultValue>master</defaultValue>
|
|
32
|
-
<trim>false</trim>
|
|
33
|
-
</hudson.model.StringParameterDefinition>
|
|
34
|
-
<hudson.model.StringParameterDefinition>
|
|
35
|
-
<name>IMAGE_NAME</name>
|
|
36
|
-
<description>Image name</description>
|
|
37
|
-
<trim>false</trim>
|
|
38
|
-
</hudson.model.StringParameterDefinition>
|
|
39
|
-
<hudson.model.StringParameterDefinition>
|
|
40
|
-
<name>VERSION</name>
|
|
41
|
-
<description>Tag for the created docker image</description>
|
|
42
|
-
<trim>false</trim>
|
|
43
|
-
</hudson.model.StringParameterDefinition>
|
|
44
|
-
<hudson.model.StringParameterDefinition>
|
|
45
|
-
<name>ALIAS_VERSIONS</name>
|
|
46
|
-
<description>Comma separated list of alias tags for the created docker image. Ex: "master,latest"</description>
|
|
47
|
-
<defaultValue></defaultValue>
|
|
48
|
-
<trim>false</trim>
|
|
49
|
-
</hudson.model.StringParameterDefinition>
|
|
50
|
-
<hudson.model.StringParameterDefinition>
|
|
51
|
-
<name>REPOSITORY_NAME</name>
|
|
52
|
-
<description>Repository name</description>
|
|
53
|
-
<trim>false</trim>
|
|
54
|
-
</hudson.model.StringParameterDefinition>
|
|
55
|
-
<hudson.model.StringParameterDefinition>
|
|
56
|
-
<name>DAVINCI_BRANCH</name>
|
|
57
|
-
<description>Davinci branch to checkout</description>
|
|
58
|
-
<defaultValue>master</defaultValue>
|
|
59
|
-
<trim>false</trim>
|
|
60
|
-
</hudson.model.StringParameterDefinition>
|
|
61
|
-
<hudson.model.StringParameterDefinition>
|
|
62
|
-
<name>TIMEOUT</name>
|
|
63
|
-
<description>Timeout value for the job (in minutes)</description>
|
|
64
|
-
<defaultValue>25</defaultValue>
|
|
65
|
-
<trim>false</trim>
|
|
66
|
-
</hudson.model.StringParameterDefinition>
|
|
67
|
-
</parameterDefinitions>
|
|
68
|
-
</hudson.model.ParametersDefinitionProperty>
|
|
69
|
-
<jenkins.model.BuildDiscarderProperty>
|
|
70
|
-
<strategy class="hudson.tasks.LogRotator">
|
|
71
|
-
<daysToKeep>-1</daysToKeep>
|
|
72
|
-
<numToKeep>20</numToKeep>
|
|
73
|
-
<artifactDaysToKeep>-1</artifactDaysToKeep>
|
|
74
|
-
<artifactNumToKeep>-1</artifactNumToKeep>
|
|
75
|
-
</strategy>
|
|
76
|
-
</jenkins.model.BuildDiscarderProperty>
|
|
77
|
-
<hudson.plugins.jira.JiraProjectProperty plugin="jira@3.0.7"/>
|
|
78
|
-
<com.sonyericsson.jenkins.plugins.bfa.model.ScannerJobProperty plugin="build-failure-analyzer@1.20.0">
|
|
79
|
-
<doNotScan>false</doNotScan>
|
|
80
|
-
</com.sonyericsson.jenkins.plugins.bfa.model.ScannerJobProperty>
|
|
81
|
-
<com.coravy.hudson.plugins.github.GithubProjectProperty plugin="github@1.29.4">
|
|
82
|
-
<projectUrl>$PROJECT_URL</projectUrl>
|
|
83
|
-
<displayName></displayName>
|
|
84
|
-
</com.coravy.hudson.plugins.github.GithubProjectProperty>
|
|
85
|
-
<hudson.plugins.throttleconcurrents.ThrottleJobProperty plugin="throttle-concurrents@2.0.1">
|
|
86
|
-
<maxConcurrentPerNode>0</maxConcurrentPerNode>
|
|
87
|
-
<maxConcurrentTotal>0</maxConcurrentTotal>
|
|
88
|
-
<categories class="java.util.concurrent.CopyOnWriteArrayList"/>
|
|
89
|
-
<throttleEnabled>false</throttleEnabled>
|
|
90
|
-
<throttleOption>project</throttleOption>
|
|
91
|
-
<limitOneJobWithMatchingParams>false</limitOneJobWithMatchingParams>
|
|
92
|
-
<paramsToUseForLimit></paramsToUseForLimit>
|
|
93
|
-
<configVersion>1</configVersion>
|
|
94
|
-
</hudson.plugins.throttleconcurrents.ThrottleJobProperty>
|
|
95
|
-
</properties>
|
|
96
|
-
<definition class="org.jenkinsci.plugins.workflow.cps.CpsScmFlowDefinition" plugin="workflow-cps@2.74">
|
|
97
|
-
<scm class="hudson.plugins.git.GitSCM" plugin="git@3.10.1">
|
|
98
|
-
<configVersion>2</configVersion>
|
|
99
|
-
<userRemoteConfigs>
|
|
100
|
-
<hudson.plugins.git.UserRemoteConfig>
|
|
101
|
-
<url>git@github.com:toptal/davinci.git</url>
|
|
102
|
-
<credentialsId>$CREDENTIALS_ID</credentialsId>
|
|
103
|
-
</hudson.plugins.git.UserRemoteConfig>
|
|
104
|
-
</userRemoteConfigs>
|
|
105
|
-
<branches>
|
|
106
|
-
<hudson.plugins.git.BranchSpec>
|
|
107
|
-
<name>master</name>
|
|
108
|
-
</hudson.plugins.git.BranchSpec>
|
|
109
|
-
</branches>
|
|
110
|
-
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
|
|
111
|
-
<submoduleCfg class="list"/>
|
|
112
|
-
<extensions/>
|
|
113
|
-
</scm>
|
|
114
|
-
<scriptPath>packages/ci/src/configs/jobs/build-image/Jenkinsfile</scriptPath>
|
|
115
|
-
<lightweight>true</lightweight>
|
|
116
|
-
</definition>
|
|
117
|
-
<triggers/>
|
|
118
|
-
<disabled>false</disabled>
|
|
119
|
-
</flow-definition>
|