fiftyone.geolocation 4.3.4 → 4.3.7
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/ci/build-and-test.yml +5 -5
- package/ci/common-ci/.github/labels.yml +18 -0
- package/ci/common-ci/.github/workflows/sync-labels.yml +2 -0
- package/ci/common-ci/c/shared-variables.yml +15 -0
- package/ci/common-ci/create-tag.yml +8 -5
- package/ci/common-ci/java/shared-security-vulnerability-check.yml +54 -0
- package/ci/common-ci/release-config.json +53 -52
- package/ci/common-ci/scripts/modules/51DDownloadDataFileModule/51DDownloadDataFileModule.psm1 +38 -14
- package/ci/common-ci/scripts/modules/51DGitModule/51DGitModule.psm1 +106 -39
- package/ci/common-ci/shared-variables.yml +5 -1
- package/ci/create-packages.yml +7 -7
- package/ci/deploy-external.yml +1 -1
- package/ci/deploy-internal.yml +1 -1
- package/ci/shared-variables.yml +1 -7
- package/package.json +5 -5
package/ci/build-and-test.yml
CHANGED
|
@@ -8,17 +8,17 @@ schedules:
|
|
|
8
8
|
include:
|
|
9
9
|
- develop
|
|
10
10
|
|
|
11
|
-
# Include the shared variables
|
|
12
|
-
variables:
|
|
13
|
-
- template: shared-variables.yml
|
|
14
|
-
- group: CIAutomation
|
|
15
|
-
|
|
16
11
|
resources:
|
|
17
12
|
repositories:
|
|
18
13
|
- repository: ciTemplates # Id of the repository used to reference to in this script
|
|
19
14
|
type: git
|
|
20
15
|
name: common-ci # Name of the actual repository
|
|
21
16
|
|
|
17
|
+
# Include the shared variables
|
|
18
|
+
variables:
|
|
19
|
+
- template: shared-variables.yml@ciTemplates
|
|
20
|
+
- group: CIAutomation
|
|
21
|
+
|
|
22
22
|
stages:
|
|
23
23
|
- template: shared-build-and-test-platforms.yml
|
|
24
24
|
parameters:
|
|
@@ -22,6 +22,12 @@
|
|
|
22
22
|
- name: "status: duplicate"
|
|
23
23
|
description: This issue or pull request already exists
|
|
24
24
|
color: cfd3d7
|
|
25
|
+
- name: "status: awaiting external input"
|
|
26
|
+
description: This item is awaiting for external input
|
|
27
|
+
color: 6699ff
|
|
28
|
+
- name: "status: will not fix"
|
|
29
|
+
description: This item will not be fixed
|
|
30
|
+
color: 6392fa
|
|
25
31
|
- name: "status: released/4.3.0"
|
|
26
32
|
description: This change was released in the specified version
|
|
27
33
|
color: a8d131
|
|
@@ -66,3 +72,15 @@
|
|
|
66
72
|
- name: "scheduled: 15th Dec 2021"
|
|
67
73
|
description: This item has been scheduled for 15th Dec 2021 release
|
|
68
74
|
color: 6ff076
|
|
75
|
+
- name: "scheduled: 12th Jan 2022"
|
|
76
|
+
description: This item has been scheduled for 12th Jan 2022 release
|
|
77
|
+
color: 6ff076
|
|
78
|
+
- name: "scheduled: 19th Jan 2022"
|
|
79
|
+
description: This item has been scheduled for 19th Jan 2022 release
|
|
80
|
+
color: 6ff076
|
|
81
|
+
- name: "scheduled: 26th Jan 2022"
|
|
82
|
+
description: This item has been scheduled for 26th Jan 2022 release
|
|
83
|
+
color: 6ff076
|
|
84
|
+
- name: "scheduled: 2nd Feb 2022"
|
|
85
|
+
description: This item has been scheduled for 2nd Feb 2022 release
|
|
86
|
+
color: 6ff076
|
|
@@ -26,6 +26,8 @@ jobs:
|
|
|
26
26
|
51Degrees/device-detection-cxx
|
|
27
27
|
51Degrees/device-detection-data
|
|
28
28
|
51Degrees/device-detection-dotnet
|
|
29
|
+
51Degrees/device-detection-go
|
|
30
|
+
51Degrees/device-detection-examples-go
|
|
29
31
|
51Degrees/device-detection-java
|
|
30
32
|
51Degrees/device-detection-nginx
|
|
31
33
|
51Degrees/device-detection-node
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
variables:
|
|
2
|
+
# Target Microsoft Toolset versions. Can't use full extended name
|
|
3
|
+
# as this is converted to environment variable and impact tools such as
|
|
4
|
+
# CMake
|
|
5
|
+
- name: plfTsVer # Platform Toolset Version.
|
|
6
|
+
value: 'v142'
|
|
7
|
+
# Visual Studio version. This should be consistent with platform toolset
|
|
8
|
+
# Used by Gyp where platform toolset version is not available to be set
|
|
9
|
+
# 2017 - v141
|
|
10
|
+
# 2019 - v142
|
|
11
|
+
# 2022 - v143
|
|
12
|
+
- name: msvsVer
|
|
13
|
+
value: '2019'
|
|
14
|
+
- name: winSDKVer # Windows SDK Version.
|
|
15
|
+
value: '10.0.19041.0'
|
|
@@ -25,12 +25,15 @@ stages:
|
|
|
25
25
|
submodules: recursive
|
|
26
26
|
persistCredentials: true
|
|
27
27
|
|
|
28
|
-
- task:
|
|
29
|
-
displayName:
|
|
30
|
-
# Give this task a name so we can use the variables it sets later.
|
|
31
|
-
name: GitVersion
|
|
28
|
+
- task: gitversion/setup@0
|
|
29
|
+
displayName: Install GitVersion
|
|
32
30
|
inputs:
|
|
33
|
-
|
|
31
|
+
versionSpec: '5.x'
|
|
32
|
+
|
|
33
|
+
- task: gitversion/execute@0
|
|
34
|
+
displayName: Determine Version
|
|
35
|
+
inputs:
|
|
36
|
+
useConfigFile: true
|
|
34
37
|
configFilePath: '$(Build.SourcesDirectory)/GitVersion.yml'
|
|
35
38
|
|
|
36
39
|
# Add a tag to the git repository with the version number.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
parameters:
|
|
2
|
+
- name: imageName # Name of build image
|
|
3
|
+
- name: dependencies # Stages that this stage depends on
|
|
4
|
+
type: object
|
|
5
|
+
default: []
|
|
6
|
+
|
|
7
|
+
stages:
|
|
8
|
+
- stage: 'SecurityCheck'
|
|
9
|
+
displayName: 'Security Vulnerability Check'
|
|
10
|
+
dependsOn: ${{ parameters.dependencies }}
|
|
11
|
+
|
|
12
|
+
variables:
|
|
13
|
+
- group: CIAutomation
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
- job: 'SecurityCheck'
|
|
17
|
+
displayName: 'Security Vulnerability Check'
|
|
18
|
+
|
|
19
|
+
pool:
|
|
20
|
+
vmImage: ${{ parameters.imageName }}
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- checkout: self
|
|
24
|
+
submodules: recursive
|
|
25
|
+
lfs: true
|
|
26
|
+
persistCredentials: true
|
|
27
|
+
|
|
28
|
+
- task: MavenAuthenticate@0
|
|
29
|
+
inputs:
|
|
30
|
+
artifactsFeeds: '$(InternalFeedName)'
|
|
31
|
+
|
|
32
|
+
# Perform a security vulnerability check on the dependencies
|
|
33
|
+
# using dependency-check-maven plugin
|
|
34
|
+
- bash: |
|
|
35
|
+
mvn dependency-check:aggregate -Pdependency-check -Dfetchrepository.id=$REPO_ID -Dfetchrepository.url=$REPO_URL
|
|
36
|
+
env:
|
|
37
|
+
REPO_ID: $(fetchrepository.id)
|
|
38
|
+
REPO_URL: $(fetchrepository.url)
|
|
39
|
+
displayName: 'Maven dependency check'
|
|
40
|
+
|
|
41
|
+
# Copy report to staging directory to be published
|
|
42
|
+
- task: CopyFiles@2
|
|
43
|
+
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
|
|
44
|
+
inputs:
|
|
45
|
+
SourceFolder: '$(build.sourcesdirectory)'
|
|
46
|
+
Contents: 'target/dependency-check-report.html'
|
|
47
|
+
TargetFolder: '$(build.artifactstagingdirectory)'
|
|
48
|
+
|
|
49
|
+
# Publish dependency check report
|
|
50
|
+
- task: PublishBuildArtifacts@1
|
|
51
|
+
displayName: 'Publish Artifact: dependency-check-report'
|
|
52
|
+
inputs:
|
|
53
|
+
PathtoPublish: '$(build.artifactstagingdirectory)'
|
|
54
|
+
ArtifactName: dependency-check-report
|
|
@@ -1,18 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"repositories": {
|
|
3
3
|
"common-ci": {
|
|
4
|
-
"version": "4.3.
|
|
4
|
+
"version": "4.3.60",
|
|
5
5
|
"isLeaf": true
|
|
6
6
|
},
|
|
7
|
+
"device-detection-data": {
|
|
8
|
+
"version": "4.3.5",
|
|
9
|
+
"isLeaf": false
|
|
10
|
+
},
|
|
7
11
|
"device-detection-cxx": {
|
|
8
|
-
"version": "4.3.
|
|
12
|
+
"version": "4.3.16",
|
|
9
13
|
"isLeaf": false,
|
|
10
14
|
"dependencies": [
|
|
11
|
-
"common-ci"
|
|
15
|
+
"common-ci",
|
|
16
|
+
"device-detection-data"
|
|
12
17
|
]
|
|
13
18
|
},
|
|
19
|
+
"device-detection-go": {
|
|
20
|
+
"version": "4.3.5",
|
|
21
|
+
"isLeaf": false,
|
|
22
|
+
"dependencies": [
|
|
23
|
+
"common-ci",
|
|
24
|
+
"device-detection-cxx"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
14
27
|
"device-detection-varnish": {
|
|
15
|
-
"version": "4.3.
|
|
28
|
+
"version": "4.3.3",
|
|
16
29
|
"isLeaf": false,
|
|
17
30
|
"dependencies": [
|
|
18
31
|
"common-ci",
|
|
@@ -20,92 +33,79 @@
|
|
|
20
33
|
]
|
|
21
34
|
},
|
|
22
35
|
"device-detection-nginx": {
|
|
23
|
-
"version": "4.3.
|
|
36
|
+
"version": "4.3.5",
|
|
24
37
|
"isLeaf": false,
|
|
25
38
|
"dependencies": [
|
|
26
39
|
"common-ci",
|
|
27
40
|
"device-detection-cxx"
|
|
28
41
|
]
|
|
29
42
|
},
|
|
30
|
-
"
|
|
31
|
-
"version": "4.3.
|
|
32
|
-
"packageName": "pipeline
|
|
33
|
-
"versionVariableName": "
|
|
43
|
+
"pipeline-java": {
|
|
44
|
+
"version": "4.3.14",
|
|
45
|
+
"packageName": "pipeline",
|
|
46
|
+
"versionVariableName": "pipeline.version",
|
|
34
47
|
"isLeaf": false,
|
|
35
48
|
"dependencies": [
|
|
36
|
-
"common-ci"
|
|
37
|
-
"device-detection-cxx"
|
|
49
|
+
"common-ci"
|
|
38
50
|
]
|
|
39
51
|
},
|
|
40
52
|
"location-java": {
|
|
41
|
-
"version": "4.3.
|
|
53
|
+
"version": "4.3.12",
|
|
42
54
|
"packageName": "pipeline.geo-location",
|
|
43
55
|
"versionVariableName": "geolocation.version",
|
|
44
56
|
"isLeaf": false,
|
|
45
57
|
"dependencies": [
|
|
46
58
|
"common-ci",
|
|
59
|
+
"pipeline-java",
|
|
47
60
|
"device-detection-java"
|
|
48
61
|
]
|
|
49
62
|
},
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
"packageName": "
|
|
53
|
-
"versionVariableName": "
|
|
63
|
+
"device-detection-java": {
|
|
64
|
+
"version": "4.3.17",
|
|
65
|
+
"packageName": "pipeline.device-detection",
|
|
66
|
+
"versionVariableName": "devicedetection.version",
|
|
54
67
|
"isLeaf": false,
|
|
55
68
|
"dependencies": [
|
|
56
69
|
"common-ci",
|
|
57
|
-
"
|
|
70
|
+
"device-detection-cxx",
|
|
71
|
+
"pipeline-java"
|
|
58
72
|
]
|
|
59
73
|
},
|
|
60
74
|
"pipeline-dotnet": {
|
|
61
|
-
"version": "4.3.
|
|
75
|
+
"version": "4.3.17",
|
|
62
76
|
"packageName": "FiftyOne.Pipeline",
|
|
63
77
|
"isLeaf": false,
|
|
64
78
|
"dependencies": [
|
|
65
|
-
"common-ci"
|
|
79
|
+
"common-ci",
|
|
80
|
+
"common-dotnet",
|
|
81
|
+
"caching-dotnet"
|
|
66
82
|
]
|
|
67
83
|
},
|
|
68
84
|
"location-dotnet": {
|
|
69
|
-
"version": "4.3.
|
|
85
|
+
"version": "4.3.12",
|
|
70
86
|
"packageName": "FiftyOne.Geolocation",
|
|
71
87
|
"isLeaf": false,
|
|
72
88
|
"dependencies": [
|
|
73
89
|
"common-ci",
|
|
90
|
+
"common-dotnet",
|
|
74
91
|
"pipeline-dotnet",
|
|
75
92
|
"device-detection-dotnet"
|
|
76
93
|
]
|
|
77
94
|
},
|
|
78
95
|
"device-detection-dotnet": {
|
|
79
|
-
"version": "4.3.
|
|
96
|
+
"version": "4.3.17",
|
|
80
97
|
"packageName": "FiftyOne.DeviceDetection",
|
|
81
98
|
"isLeaf": false,
|
|
82
99
|
"dependencies": [
|
|
83
100
|
"common-ci",
|
|
84
101
|
"device-detection-cxx",
|
|
102
|
+
"caching-dotnet",
|
|
103
|
+
"common-dotnet",
|
|
85
104
|
"pipeline-dotnet"
|
|
86
105
|
]
|
|
87
106
|
},
|
|
88
|
-
"entitlement-dotnet": {
|
|
89
|
-
"version": "4.1.16",
|
|
90
|
-
"isLeaf": false,
|
|
91
|
-
"dependencies": [
|
|
92
|
-
"common-ci",
|
|
93
|
-
"pipeline-dotnet"
|
|
94
|
-
]
|
|
95
|
-
},
|
|
96
|
-
"internal-engines-dotnet": {
|
|
97
|
-
"version": "4.3.5",
|
|
98
|
-
"packageName": "FiftyOne.GeoLocation.OnPremise",
|
|
99
|
-
"isLeaf": false,
|
|
100
|
-
"dependencies": [
|
|
101
|
-
"common-ci",
|
|
102
|
-
"pipeline-dotnet",
|
|
103
|
-
"device-detection-dotnet",
|
|
104
|
-
"location-dotnet"
|
|
105
|
-
]
|
|
106
|
-
},
|
|
107
107
|
"pipeline-node": {
|
|
108
|
-
"version": "4.3.
|
|
108
|
+
"version": "4.3.8",
|
|
109
109
|
"packageName": "fiftyone.pipeline",
|
|
110
110
|
"isLeaf": false,
|
|
111
111
|
"dependencies": [
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
]
|
|
114
114
|
},
|
|
115
115
|
"location-node": {
|
|
116
|
-
"version": "4.3.
|
|
116
|
+
"version": "4.3.7",
|
|
117
117
|
"packageName": "fiftyone.geolocation",
|
|
118
118
|
"isLeaf": false,
|
|
119
119
|
"dependencies": [
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
]
|
|
124
124
|
},
|
|
125
125
|
"device-detection-node": {
|
|
126
|
-
"version": "4.3.
|
|
126
|
+
"version": "4.3.12",
|
|
127
127
|
"packageName": "fiftyone.devicedetection",
|
|
128
128
|
"isLeaf": false,
|
|
129
129
|
"dependencies": [
|
|
@@ -133,17 +133,18 @@
|
|
|
133
133
|
]
|
|
134
134
|
},
|
|
135
135
|
"device-detection-python": {
|
|
136
|
-
"version": "4.3.
|
|
136
|
+
"version": "4.3.5",
|
|
137
137
|
"packageName": "fiftyone_devicedetection",
|
|
138
138
|
"versionVariableName": "deviceDetectionVersion",
|
|
139
139
|
"isLeaf": false,
|
|
140
140
|
"dependencies": [
|
|
141
141
|
"common-ci",
|
|
142
|
-
"device-detection-cxx"
|
|
142
|
+
"device-detection-cxx",
|
|
143
|
+
"pipeline-python"
|
|
143
144
|
]
|
|
144
145
|
},
|
|
145
146
|
"pipeline-php-core": {
|
|
146
|
-
"version": "4.3.
|
|
147
|
+
"version": "4.3.6",
|
|
147
148
|
"packageName": "fiftyone.pipeline.core",
|
|
148
149
|
"isLeaf": false,
|
|
149
150
|
"dependencies": [
|
|
@@ -151,7 +152,7 @@
|
|
|
151
152
|
]
|
|
152
153
|
},
|
|
153
154
|
"pipeline-php-engines": {
|
|
154
|
-
"version": "4.3.
|
|
155
|
+
"version": "4.3.5",
|
|
155
156
|
"packageName": "fiftyone.pipeline.engines",
|
|
156
157
|
"isLeaf": false,
|
|
157
158
|
"dependencies": [
|
|
@@ -160,7 +161,7 @@
|
|
|
160
161
|
]
|
|
161
162
|
},
|
|
162
163
|
"pipeline-php-cloudrequestengine": {
|
|
163
|
-
"version": "4.3.
|
|
164
|
+
"version": "4.3.6",
|
|
164
165
|
"packageName": "fiftyone.pipeline.cloudrequestengine",
|
|
165
166
|
"isLeaf": false,
|
|
166
167
|
"dependencies": [
|
|
@@ -170,7 +171,7 @@
|
|
|
170
171
|
]
|
|
171
172
|
},
|
|
172
173
|
"location-php": {
|
|
173
|
-
"version": "4.3.
|
|
174
|
+
"version": "4.3.5",
|
|
174
175
|
"packageName": "fiftyone.geolocation",
|
|
175
176
|
"isLeaf": false,
|
|
176
177
|
"dependencies": [
|
|
@@ -182,7 +183,7 @@
|
|
|
182
183
|
]
|
|
183
184
|
},
|
|
184
185
|
"device-detection-php-onpremise": {
|
|
185
|
-
"version": "4.3.
|
|
186
|
+
"version": "4.3.10",
|
|
186
187
|
"packageName": "fiftyone.devicedetection",
|
|
187
188
|
"isLeaf": false,
|
|
188
189
|
"dependencies": [
|
|
@@ -193,7 +194,7 @@
|
|
|
193
194
|
]
|
|
194
195
|
},
|
|
195
196
|
"device-detection-php": {
|
|
196
|
-
"version": "4.3.
|
|
197
|
+
"version": "4.3.7",
|
|
197
198
|
"packageName": "fiftyone.devicedetection",
|
|
198
199
|
"isLeaf": false,
|
|
199
200
|
"dependencies": [
|
|
@@ -204,7 +205,7 @@
|
|
|
204
205
|
]
|
|
205
206
|
},
|
|
206
207
|
"pipeline-wordpress": {
|
|
207
|
-
"version": "1.0.
|
|
208
|
+
"version": "1.0.14",
|
|
208
209
|
"packageName": "fiftyonedegrees.wordpress",
|
|
209
210
|
"isLeaf": false,
|
|
210
211
|
"dependencies": [
|
package/ci/common-ci/scripts/modules/51DDownloadDataFileModule/51DDownloadDataFileModule.psm1
CHANGED
|
@@ -22,26 +22,50 @@ function Get-DataFile {
|
|
|
22
22
|
[string]$fullFilePath
|
|
23
23
|
)
|
|
24
24
|
|
|
25
|
+
Add-Type -AssemblyName System.Net.Http
|
|
26
|
+
|
|
25
27
|
$webClient = New-Object System.Net.Http.HttpClient;
|
|
26
28
|
$webClient.Timeout = New-TimeSpan -Seconds 240
|
|
27
29
|
$url ="https://distributor.51degrees.com/api/v2/download?LicenseKeys=$($licenseKey)&Type=$($dataType)&Download=True&Product=$($product)"
|
|
28
30
|
$start_time = Get-Date
|
|
31
|
+
$complete = $false
|
|
32
|
+
$tryCount = 0
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
$stream = $webClient.GetStreamAsync($url)
|
|
32
|
-
$stream.ConfigureAwait($false) > $null
|
|
33
|
-
if ($null -ne $stream.Exception){ throw $stream.Exception }
|
|
34
|
-
|
|
35
|
-
# Save stream to path
|
|
36
|
-
try
|
|
37
|
-
{
|
|
38
|
-
$fileStream = [System.IO.File]::Create($fullFilePath)
|
|
39
|
-
$stream.Result.CopyTo($fileStream)
|
|
40
|
-
}
|
|
41
|
-
finally
|
|
34
|
+
DO
|
|
42
35
|
{
|
|
43
|
-
|
|
44
|
-
|
|
36
|
+
$tryCount++;
|
|
37
|
+
Write-Host "Attempt: $tryCount"
|
|
38
|
+
|
|
39
|
+
try
|
|
40
|
+
{
|
|
41
|
+
# Get download stream
|
|
42
|
+
$stream = $webClient.GetStreamAsync($url)
|
|
43
|
+
$stream.ConfigureAwait($false) > $null
|
|
44
|
+
if ($null -ne $stream.Exception){ throw $stream.Exception }
|
|
45
|
+
|
|
46
|
+
# Save stream to path
|
|
47
|
+
try
|
|
48
|
+
{
|
|
49
|
+
$fileStream = [System.IO.File]::Create($fullFilePath)
|
|
50
|
+
$stream.Result.CopyTo($fileStream)
|
|
51
|
+
$complete = $true
|
|
52
|
+
}
|
|
53
|
+
finally
|
|
54
|
+
{
|
|
55
|
+
if ($null -ne $fileStream){ $fileStream.Dispose() }
|
|
56
|
+
if (($null -ne $stream) -and ($stream.IsCompleted -eq $true)){ $stream.Dispose() }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch
|
|
60
|
+
{
|
|
61
|
+
Write-Host "# ERROR downloading data file:"
|
|
62
|
+
Write-Host $_
|
|
63
|
+
}
|
|
64
|
+
} While (($complete -eq $false) -and ($tryCount -le 10))
|
|
65
|
+
|
|
66
|
+
if($complete -eq $false)
|
|
67
|
+
{
|
|
68
|
+
throw "# ERROR: Data file download failed after $tryCount attempts."
|
|
45
69
|
}
|
|
46
70
|
|
|
47
71
|
Write-Output "Time taken: $((Get-Date).Subtract($start_time).Seconds) second(s)"
|
|
@@ -18,80 +18,139 @@ $script:releaseConfig = $null
|
|
|
18
18
|
$script:repositories = $null
|
|
19
19
|
|
|
20
20
|
class GitHandler {
|
|
21
|
+
static [boolean]Clean () {
|
|
22
|
+
$output = $(git clean -f -d)
|
|
23
|
+
$exitCode = $LASTEXITCODE
|
|
24
|
+
[boolean]$rtnCode = $exitCode -eq 0
|
|
25
|
+
if (!$rtnCode) {
|
|
26
|
+
Write-Host $output
|
|
27
|
+
Write-Host "# WARNING: Could not clean current dir properly. Exit code $exitCode."
|
|
28
|
+
}
|
|
29
|
+
return $rtnCode
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static [boolean]UpdateSubmodules() {
|
|
33
|
+
$output = $(git submodule update --init --recursive)
|
|
34
|
+
$exitCode = $LASTEXITCODE
|
|
35
|
+
[boolean]$rtnCode = $exitCode -eq 0
|
|
36
|
+
if (!$rtnCode) {
|
|
37
|
+
Write-Host $output
|
|
38
|
+
Write-Host "# WARNING: Could not update submodules recursively. Exit code $exitCode."
|
|
39
|
+
}
|
|
40
|
+
return $rtnCode
|
|
41
|
+
}
|
|
42
|
+
|
|
21
43
|
static [boolean]Checkout ([string]$branchName) {
|
|
22
44
|
Write-Host "# Checkout $branchName"
|
|
23
|
-
git checkout "$branchName"
|
|
24
|
-
|
|
45
|
+
$output = $(git checkout "$branchName")
|
|
46
|
+
$exitCode = $LASTEXITCODE
|
|
47
|
+
[boolean]$rtnCode = $exitCode -eq 0
|
|
48
|
+
if (!$rtnCode) {
|
|
49
|
+
Write-Host $output
|
|
50
|
+
Write-Host "# ERROR: Failed to checkout '$branchName' recursively. Exit code $exitCode."
|
|
51
|
+
return $rtnCode
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
$rtnCode = [GitHandler]::UpdateSubmodules()
|
|
55
|
+
if (!$rtnCode) {
|
|
56
|
+
return $rtnCode
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return [GitHandler]::Clean()
|
|
25
60
|
}
|
|
26
61
|
|
|
27
62
|
static [boolean]CheckoutTrack ([string]$branchName) {
|
|
28
63
|
Write-Host "# Checkout track $branchName"
|
|
29
|
-
git checkout --track "$branchName"
|
|
30
|
-
|
|
64
|
+
$output = $(git checkout --track "$branchName")
|
|
65
|
+
$exitCode = $LASTEXITCODE
|
|
66
|
+
[boolean]$rtnCode = $exitCode -eq 0
|
|
67
|
+
if (!$rtnCode) {
|
|
68
|
+
Write-Host $output
|
|
69
|
+
Write-Host "# ERROR: Failed to checkout '$branchName' recursively. Exit code $exitCode."
|
|
70
|
+
return $rtnCode
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
$rtnCode = [GitHandler]::UpdateSubmodules()
|
|
74
|
+
if (!$rtnCode) {
|
|
75
|
+
return $rtnCode
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return [GitHandler]::Clean()
|
|
31
79
|
}
|
|
32
80
|
|
|
33
81
|
static [boolean]CheckoutNew ([string]$branchName) {
|
|
34
82
|
Write-Host "# Checkout New $branchName"
|
|
35
|
-
git checkout -b "$branchName"
|
|
36
|
-
return
|
|
83
|
+
$output = $(git checkout -b "$branchName")
|
|
84
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
85
|
+
|
|
37
86
|
}
|
|
38
87
|
|
|
39
88
|
static [boolean]Pull () {
|
|
40
89
|
Write-Host "# Git pull"
|
|
41
|
-
git pull
|
|
42
|
-
return
|
|
90
|
+
$output = $(git pull)
|
|
91
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
43
92
|
}
|
|
44
93
|
|
|
45
94
|
static [boolean]FetchAllTags () {
|
|
46
95
|
Write-Host "# Fetch all tags"
|
|
47
96
|
# git -c http.extraheader="AUTHORIZATION: bearer $env:SYSTEM_ACCESSTOKEN" fetch --all --tags
|
|
48
|
-
git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" fetch --all --tags
|
|
49
|
-
return
|
|
97
|
+
$output = $(git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" fetch --all --tags)
|
|
98
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
50
99
|
}
|
|
51
100
|
|
|
52
101
|
static [boolean]Push ([string]$branchName) {
|
|
53
102
|
if ([string]::IsNullOrEmpty($branchName)) {
|
|
54
103
|
Write-Host "# Git Push $branchName to origin"
|
|
55
|
-
git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" push
|
|
104
|
+
$output = $(git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" push)
|
|
56
105
|
} else {
|
|
57
106
|
Write-Host "# Git Push"
|
|
58
|
-
git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" push origin "$branchName"
|
|
107
|
+
$output = $(git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" push origin "$branchName")
|
|
59
108
|
}
|
|
60
|
-
return
|
|
109
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
61
110
|
}
|
|
62
111
|
|
|
63
112
|
static [boolean]Commit ([string]$message) {
|
|
64
113
|
Write-Host "# Git commit"
|
|
65
|
-
git commit -m "$message"
|
|
66
|
-
return
|
|
114
|
+
$output = $(git commit -m "$message")
|
|
115
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
67
116
|
}
|
|
68
117
|
|
|
69
118
|
static [boolean]Config ([string]$email, [string]$name) {
|
|
70
119
|
Write-Host "# Git config email '$email' and name '$name'"
|
|
71
|
-
git config user.email "$email"
|
|
72
|
-
[
|
|
73
|
-
|
|
74
|
-
|
|
120
|
+
$output = $(git config user.email "$email")
|
|
121
|
+
$rtnCode = [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
122
|
+
|
|
123
|
+
$output = $(git config user.name "$name")
|
|
124
|
+
return $rtnCode -and [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
75
125
|
}
|
|
76
126
|
|
|
77
127
|
static [boolean]Add ([string]$path) {
|
|
78
128
|
Write-Host "# Git stage '$path'"
|
|
79
|
-
git add "$path"
|
|
80
|
-
return
|
|
129
|
+
$output = $(git add "$path")
|
|
130
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
81
131
|
}
|
|
82
132
|
|
|
83
133
|
static [boolean]CheckoutWithAuthorization ([string]$branchName) {
|
|
84
134
|
Write-Host "# Checkout with authorization $branchName"
|
|
85
135
|
# git -c http.extraheader="AUTHORIZATION: bearer $env:SYSTEM_ACCESSTOKEN" checkout "$branchName"
|
|
86
|
-
git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" checkout "$branchName"
|
|
87
|
-
return
|
|
136
|
+
$output = $(git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" checkout "$branchName")
|
|
137
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
88
138
|
}
|
|
89
139
|
|
|
90
140
|
static [boolean]Clone ([string]$url) {
|
|
91
141
|
Write-Host "# Clone $url"
|
|
92
142
|
# git -c http.extraheader="AUTHORIZATION: Bearer $env:SYSTEM_ACCESSTOKEN" clone "$url"
|
|
93
|
-
git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" clone "$url"
|
|
94
|
-
return
|
|
143
|
+
$output = $(git -c http.extraheader="AUTHORIZATION: $([Authorization]::AuthorizationString)" clone "$url")
|
|
144
|
+
return [GitHandler]::ProcessExitCode($LASTEXITCODE, $output)
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
static hidden [boolean]ProcessExitCode ([int]$exitCode, [string]$commandOutput) {
|
|
148
|
+
[boolean]$rtnCode = $exitCode -eq 0
|
|
149
|
+
if (!$rtnCode) {
|
|
150
|
+
Write-Host $commandOutput
|
|
151
|
+
Write-Host "WARNING: Failed with exit code $exitCode"
|
|
152
|
+
}
|
|
153
|
+
return $rtnCode
|
|
95
154
|
}
|
|
96
155
|
}
|
|
97
156
|
|
|
@@ -577,11 +636,15 @@ function Update-SubmoduleReferences {
|
|
|
577
636
|
Write-Host "================"
|
|
578
637
|
foreach ($submodule in $(git config --file .gitmodules --name-only --get-regexp path)) {
|
|
579
638
|
Write-Host ""
|
|
580
|
-
Write-Host "# Process submodule path $
|
|
639
|
+
Write-Host "# Process submodule path $submodule."
|
|
581
640
|
$submodulePath = Find-SubmodulePath -GitSubmodulePath $submodule
|
|
582
641
|
if ($submodulePath -ne $null) {
|
|
583
642
|
Write-Host "# Path $submodulePath extracted."
|
|
584
643
|
Push-Location $submodulePath
|
|
644
|
+
if (!$?) {
|
|
645
|
+
Write-Host "# ERROR: Failed to navigate to submodule $submodulePath"
|
|
646
|
+
return $false
|
|
647
|
+
}
|
|
585
648
|
|
|
586
649
|
# Get repo name
|
|
587
650
|
$subRepoName = Get-RepositoryName
|
|
@@ -592,7 +655,9 @@ function Update-SubmoduleReferences {
|
|
|
592
655
|
Write-Host "# Checking tag $targetTag"
|
|
593
656
|
|
|
594
657
|
$tagUpdated = $false
|
|
595
|
-
|
|
658
|
+
$targetSpecified = $null -ne $targetTag
|
|
659
|
+
|
|
660
|
+
if ($targetSpecified) {
|
|
596
661
|
# Get all tag
|
|
597
662
|
Write-Host "# Fetch all tags"
|
|
598
663
|
if (![GitHandler]::FetchAllTags()) {
|
|
@@ -628,18 +693,20 @@ function Update-SubmoduleReferences {
|
|
|
628
693
|
}
|
|
629
694
|
|
|
630
695
|
Pop-Location
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
696
|
+
|
|
697
|
+
if($targetSpecified) {
|
|
698
|
+
# Exit if not all tags have been found.
|
|
699
|
+
if (!$tagUpdated) {
|
|
700
|
+
Write-Host "# ERROR: Failed to update Submodule $subRepoName to tag $targetTag."
|
|
701
|
+
return $false
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
# Stage the submodule update
|
|
705
|
+
Write-Host "# Stage the submodule $submodulePath"
|
|
706
|
+
if (![GitHandler]::Add($submodulePath)) {
|
|
707
|
+
Write-Host "# ERROR: Failed to stage the submodule $subRepoName."
|
|
708
|
+
return $false
|
|
709
|
+
}
|
|
643
710
|
}
|
|
644
711
|
} else {
|
|
645
712
|
Write-Host "# ERROR: Failed to extract module path from $submodulePath"
|
package/ci/create-packages.yml
CHANGED
|
@@ -6,20 +6,20 @@ trigger:
|
|
|
6
6
|
# Don't trigger for a pull request
|
|
7
7
|
pr: none
|
|
8
8
|
|
|
9
|
+
resources:
|
|
10
|
+
repositories:
|
|
11
|
+
- repository: ciTemplates # Id of the repository used to reference to in this script
|
|
12
|
+
type: git
|
|
13
|
+
name: common-ci # Name of the actual repository
|
|
14
|
+
|
|
9
15
|
# Include shared variables
|
|
10
16
|
variables:
|
|
11
|
-
- template: shared-variables.yml
|
|
17
|
+
- template: shared-variables.yml@ciTemplates
|
|
12
18
|
- group: CIAutomation
|
|
13
19
|
# Access token for the git repository. Used by the git tag task.
|
|
14
20
|
- name: system_accesstoken
|
|
15
21
|
value: $(System.AccessToken)
|
|
16
22
|
|
|
17
|
-
resources:
|
|
18
|
-
repositories:
|
|
19
|
-
- repository: ciTemplates # Id of the repository used to reference to in this script
|
|
20
|
-
type: git
|
|
21
|
-
name: common-ci # Name of the actual repository
|
|
22
|
-
|
|
23
23
|
stages:
|
|
24
24
|
|
|
25
25
|
- stage: Publish
|
package/ci/deploy-external.yml
CHANGED
package/ci/deploy-internal.yml
CHANGED
package/ci/shared-variables.yml
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fiftyone.geolocation",
|
|
3
|
-
"version": "4.3.
|
|
3
|
+
"version": "4.3.7",
|
|
4
4
|
"description": "Geo-location services for the 51Degrees Pipeline API",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"types": "types/index.d.ts",
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
"Joseph Dix <joseph@51degrees.com> (https://51degrees.com)"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"fiftyone.pipeline.cloudrequestengine": "^4.3.
|
|
21
|
-
"fiftyone.pipeline.core": "^4.3.
|
|
22
|
-
"fiftyone.pipeline.engines": "^4.3.
|
|
23
|
-
"fiftyone.pipeline.engines.fiftyone": "^4.3.
|
|
20
|
+
"fiftyone.pipeline.cloudrequestengine": "^4.3.8",
|
|
21
|
+
"fiftyone.pipeline.core": "^4.3.8",
|
|
22
|
+
"fiftyone.pipeline.engines": "^4.3.8",
|
|
23
|
+
"fiftyone.pipeline.engines.fiftyone": "^4.3.8"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^15.12.2",
|