fiftyone.geolocation 4.3.0 → 4.3.5
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 +21 -0
- package/ci/common-ci/.github/labels.yml +80 -0
- package/ci/common-ci/.github/workflows/sync-labels.yml +52 -0
- package/ci/common-ci/CiTips.md +30 -1
- package/ci/common-ci/GitVersion.yml +18 -0
- package/ci/common-ci/README.md +155 -17
- package/ci/common-ci/build-and-test.yml +65 -0
- package/ci/common-ci/check-merge-commit-format.yml +56 -0
- package/ci/common-ci/cloud-release-config.json +51 -0
- package/ci/common-ci/create-tag.yml +41 -0
- package/ci/common-ci/deploy.yml +16 -2
- package/ci/common-ci/dotnet/shared-code-signing-steps.yml +20 -0
- package/ci/common-ci/dotnet/shared-extract-and-publish-packages.yml +29 -0
- package/ci/common-ci/go/shared-go-list-stage.yml +64 -0
- package/ci/common-ci/java/readme.md +22 -0
- package/ci/common-ci/java/shared-package-signing-steps.yml +17 -0
- package/ci/{shared-extract-and-publish-packages.yml → common-ci/node/shared-extract-and-publish-packages.yml} +7 -1
- package/ci/common-ci/php/readme.md +15 -0
- package/ci/common-ci/release-config-schema.json +52 -0
- package/ci/common-ci/release-config-template.json +310 -0
- package/ci/common-ci/release-config.json +89 -0
- package/ci/common-ci/release-process.drawio +165 -0
- package/ci/common-ci/release-process.png +0 -0
- package/ci/common-ci/scripts/azure/checkSlot.ps1 +28 -0
- package/ci/common-ci/scripts/modules/51DAuthorizationModule/51DAuthorizationModule.Tests.ps1 +1 -0
- package/ci/common-ci/scripts/modules/51DAuthorizationModule/51DAuthorizationModule.psm1 +16 -0
- package/ci/common-ci/scripts/modules/51DBuildModule/51DBuildModule.Tests.ps1 +3 -0
- package/ci/common-ci/scripts/modules/51DBuildModule/51DBuildModule.psm1 +200 -0
- package/ci/common-ci/scripts/modules/51DDeployModule/51DDeployModule.psm1 +66 -0
- package/ci/common-ci/scripts/modules/51DDownloadDataFileModule/51DDownloadDataFileModule.psm1 +74 -0
- package/ci/common-ci/scripts/modules/51DEnvironmentModule/51DEnvironmentModule.Tests.ps1 +25 -0
- package/ci/common-ci/scripts/modules/51DEnvironmentModule/51DEnvironmentModule.psm1 +22 -0
- package/ci/common-ci/scripts/modules/51DErrorHandleModule/51DErrorHandleModule.Tests.ps1 +1 -0
- package/ci/common-ci/scripts/modules/51DErrorHandleModule/51DErrorHandleModule.psm1 +41 -0
- package/ci/common-ci/scripts/modules/51DGitModule/51DGitModule.Tests.ps1 +5 -0
- package/ci/common-ci/scripts/modules/51DGitModule/51DGitModule.psm1 +702 -0
- package/ci/common-ci/scripts/modules/51DPackageModule/51DPackageModule.Tests.ps1 +842 -0
- package/ci/common-ci/scripts/modules/51DPackageModule/51DPackageModule.psm1 +926 -0
- package/ci/common-ci/scripts/modules/51DPipelineModule/51DPipelineModule.Tests.ps1 +1 -0
- package/ci/common-ci/scripts/modules/51DPipelineModule/51DPipelineModule.psm1 +87 -0
- package/ci/common-ci/scripts/modules/51DPullRequestModule/51DPullRequestModule.Tests.ps1 +194 -0
- package/ci/common-ci/scripts/modules/51DPullRequestModule/51DPullRequestModule.psm1 +653 -0
- package/ci/common-ci/scripts/modules/51DReleaseModule/51DReleaseModule.Tests.ps1 +277 -0
- package/ci/common-ci/scripts/modules/51DReleaseModule/51DReleaseModule.psm1 +554 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/51DReleaseTestEnvModule.Tests.ps1 +1141 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/51DReleaseTestEnvModule.psd1 +0 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/51DReleaseTestEnvModule.psm1 +1465 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ConfigurationVerifier.Tests.ps1 +318 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ConfigurationVerifier.psm1 +344 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ReleaseVerifier.Tests.ps1 +1186 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/ReleaseVerifier.psm1 +900 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/SharedVariables.psm1 +139 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/c-test-env-config.json +268 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/dotnet-deploy-test-env-config.json +700 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/dotnet-test-env-config.json +533 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/go-deploy-test-env-config.json +290 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/go-test-env-config.json +260 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/java-deploy-test-env-config.json +511 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/java-test-env-config.json +388 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/node-deploy-test-env-config.json +419 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/node-test-env-config.json +329 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/php-test-env-config.json +540 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/python-deploy-test-env-config.json +411 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/python-test-env-config.json +321 -0
- package/ci/common-ci/scripts/modules/51DReleaseTestEnvModule/config/test-env-config.json +457 -0
- package/ci/common-ci/scripts/modules/51DRestModule/51DRestModule.psm1 +38 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DApplicationInsightsModule/51DApplicationInsightsModule.psm1 +104 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DChecksModule/51DChecksModule.psm1 +68 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DCloudModule/51DCloudModule.psm1 +155 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DConnectAzureModule/51DConnectAzureModule.psm1 +45 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DSSLBindingsModule/51DSSLBIndingsModule.psm1 +100 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DStagingSlotModule/51DStagingSlotModule.psm1 +50 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DStorageAccountModule/51DStorageAccountModule.psm1 +248 -0
- package/ci/common-ci/scripts/modules/AzurePortalModules/51DTrafficManagerModule/51DTrafficManagerModule.psm1 +58 -0
- package/ci/common-ci/shared-auto-complete-pr-stage.yml +61 -0
- package/ci/common-ci/shared-create-tag-job.yml +19 -30
- package/ci/common-ci/shared-docker-build-steps.yml +34 -0
- package/ci/common-ci/shared-docker-push-steps.yml +32 -0
- package/ci/common-ci/shared-docker-test-http-steps.yml +69 -0
- package/ci/common-ci/shared-git-tag-job.yml +38 -0
- package/ci/common-ci/shared-git-version-job.yml +71 -0
- package/ci/common-ci/shared-publish-github-stage.yml +69 -60
- package/ci/common-ci/shared-submodule-trigger-stage.yml +110 -0
- package/ci/common-ci/shared-variables.yml +3 -0
- package/ci/common-ci/trigger-release-apis.yml +39 -0
- package/ci/create-packages.yml +24 -36
- package/ci/deploy-external.yml +55 -0
- package/ci/{deploy.yml → deploy-internal.yml} +3 -29
- package/ci/shared-build-and-test-platforms.yml +7 -1
- package/ci/shared-build-and-test-stage.yml +9 -2
- package/ci/submodule-trigger.yml +12 -0
- package/examples/examples.test.js +3 -3
- package/geoLocationPipelineBuilder.js +13 -10
- package/package.json +11 -7
- package/setup.js +1 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repositories": {
|
|
3
|
+
"common-ci": {
|
|
4
|
+
"version": "4.3.16",
|
|
5
|
+
"isLeaf": true
|
|
6
|
+
},
|
|
7
|
+
"pipeline-dotnet": {
|
|
8
|
+
"version": "4.3.7",
|
|
9
|
+
"packageName": "FiftyOne.Pipeline",
|
|
10
|
+
"isLeaf": true
|
|
11
|
+
},
|
|
12
|
+
"entitlement-dotnet": {
|
|
13
|
+
"version": "4.1.12",
|
|
14
|
+
"isLeaf": true
|
|
15
|
+
},
|
|
16
|
+
"location-dotnet": {
|
|
17
|
+
"version": "4.3.6",
|
|
18
|
+
"packageName": "FiftyOne.Geolocation",
|
|
19
|
+
"isLeaf": true
|
|
20
|
+
},
|
|
21
|
+
"device-detection-dotnet": {
|
|
22
|
+
"version": "4.3.7",
|
|
23
|
+
"packageName": "FiftyOne.DeviceDetection",
|
|
24
|
+
"isLeaf": true
|
|
25
|
+
},
|
|
26
|
+
"internal-engines-dotnet": {
|
|
27
|
+
"version": "4.3.3",
|
|
28
|
+
"packageName": "FiftyOne.GeoLocation.OnPremise",
|
|
29
|
+
"isLeaf": true
|
|
30
|
+
},
|
|
31
|
+
"cloud-config": {
|
|
32
|
+
"version": "4.3.0",
|
|
33
|
+
"isLeaf": true
|
|
34
|
+
},
|
|
35
|
+
"cloud-dotnet": {
|
|
36
|
+
"version":"4.3.2",
|
|
37
|
+
"packageName": "FiftyOne.Pipeline.CloudService",
|
|
38
|
+
"isLeaf": false,
|
|
39
|
+
"dependencies": [
|
|
40
|
+
"common-ci",
|
|
41
|
+
"pipeline-dotnet",
|
|
42
|
+
"entitlement-dotnet",
|
|
43
|
+
"internal-engines-dotnet",
|
|
44
|
+
"device-detection-dotnet",
|
|
45
|
+
"location-dotnet",
|
|
46
|
+
"cloud-config"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"approvalRequired": false
|
|
51
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
trigger:
|
|
2
|
+
- main
|
|
3
|
+
- develop
|
|
4
|
+
- release/*
|
|
5
|
+
|
|
6
|
+
# Don't trigger for a pull request
|
|
7
|
+
pr: none
|
|
8
|
+
|
|
9
|
+
# Include shared variables
|
|
10
|
+
variables:
|
|
11
|
+
- template: shared-variables.yml
|
|
12
|
+
|
|
13
|
+
stages:
|
|
14
|
+
|
|
15
|
+
- stage: Tagging
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
- job: Tagging
|
|
19
|
+
|
|
20
|
+
pool:
|
|
21
|
+
vmImage: $(linuxImage)
|
|
22
|
+
|
|
23
|
+
steps:
|
|
24
|
+
- checkout: self
|
|
25
|
+
submodules: recursive
|
|
26
|
+
persistCredentials: true
|
|
27
|
+
|
|
28
|
+
- task: gittools.gitversion.gitversion-task.GitVersion@5
|
|
29
|
+
displayName: 'Determine Version Number'
|
|
30
|
+
# Give this task a name so we can use the variables it sets later.
|
|
31
|
+
name: GitVersion
|
|
32
|
+
inputs:
|
|
33
|
+
preferBundledVersion: false
|
|
34
|
+
configFilePath: '$(Build.SourcesDirectory)/GitVersion.yml'
|
|
35
|
+
|
|
36
|
+
# Add a tag to the git repository with the version number.
|
|
37
|
+
- task: ATP.ATP-GitTag.GitTag.GitTag@5
|
|
38
|
+
displayName: 'Tag Repo With Version Number'
|
|
39
|
+
inputs:
|
|
40
|
+
tagUser: 'Azure DevOps'
|
|
41
|
+
tagEmail: 'CIUser@51Degrees.com'
|
package/ci/common-ci/deploy.yml
CHANGED
|
@@ -4,8 +4,22 @@ trigger: none
|
|
|
4
4
|
# Disable automatic runs of this pipeline when a PR is create.
|
|
5
5
|
pr: none
|
|
6
6
|
|
|
7
|
+
# Include shared variables
|
|
8
|
+
variables:
|
|
9
|
+
- template: shared-variables.yml
|
|
10
|
+
|
|
11
|
+
# Add the pipeline that builds the packages as a resource.
|
|
12
|
+
# This allows the deployment pipeline to be triggered whenever
|
|
13
|
+
# the build pipeline completes.
|
|
14
|
+
resources:
|
|
15
|
+
pipelines:
|
|
16
|
+
- pipeline: build-pipeline # The name for the triggering build pipeline within this script
|
|
17
|
+
source: common-ci-tag-repository # Name of the pipeline from here: https://51degrees.visualstudio.com/Pipeline/_build
|
|
18
|
+
trigger: true
|
|
19
|
+
|
|
7
20
|
stages:
|
|
8
21
|
- template: shared-publish-github-stage.yml
|
|
9
22
|
parameters:
|
|
10
|
-
imageName:
|
|
11
|
-
branchName: 'refs/heads/main'
|
|
23
|
+
imageName: $(linuxImage)
|
|
24
|
+
branchName: 'refs/heads/main'
|
|
25
|
+
skipTagging: false
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
parameters:
|
|
2
|
+
- name: codeSigningPassword
|
|
3
|
+
|
|
4
|
+
steps:
|
|
5
|
+
# The secure file to download will be stored in the
|
|
6
|
+
# Pipelines/Library/SecureFiles section in Azure DevOps.
|
|
7
|
+
- task: DownloadSecureFile@1
|
|
8
|
+
displayName: 'Download Code Signing Certificate'
|
|
9
|
+
name: CodeSigningCert
|
|
10
|
+
inputs:
|
|
11
|
+
secureFile: '51Degrees Private Code Signing Certificate.pfx'
|
|
12
|
+
|
|
13
|
+
# Sign the Nuget package with the file downloaded previously.
|
|
14
|
+
# The password is stored in the Pipelines/Library/VariableGroups
|
|
15
|
+
# section in Azure DevOps.
|
|
16
|
+
- task: NuGetCommand@2
|
|
17
|
+
displayName: 'Sign NuGet Package'
|
|
18
|
+
inputs:
|
|
19
|
+
command: custom
|
|
20
|
+
arguments: 'sign $(System.ArtifactsDirectory)\*.nupkg -CertificatePath "$(CodeSigningCert.secureFilePath)" -CertificatePassword ${{ parameters.codeSigningPassword }} -Timestamper http://timestamp.digicert.com'
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
parameters:
|
|
2
|
+
- name: nugetVersion
|
|
3
|
+
- name: nugetFeedType
|
|
4
|
+
- name: feed
|
|
5
|
+
|
|
6
|
+
steps:
|
|
7
|
+
|
|
8
|
+
# Install NuGet and restore packages
|
|
9
|
+
- task: NuGetToolInstaller@1
|
|
10
|
+
displayName: 'Use NuGet ${{ parameters.nugetVersion }}'
|
|
11
|
+
inputs:
|
|
12
|
+
versionSpec: ${{ parameters.nugetVersion }}
|
|
13
|
+
|
|
14
|
+
- task: NuGetCommand@2
|
|
15
|
+
displayName: 'NuGet publish internal'
|
|
16
|
+
inputs:
|
|
17
|
+
command: push
|
|
18
|
+
packagesToPush: '$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.nupkg;!$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.symbols.nupkg'
|
|
19
|
+
publishVstsFeed: '${{ parameters.feed }}'
|
|
20
|
+
condition: and(succeeded(), eq('${{ parameters.nugetFeedType }}', 'internal'))
|
|
21
|
+
|
|
22
|
+
- task: NuGetCommand@2
|
|
23
|
+
displayName: 'NuGet publish external'
|
|
24
|
+
inputs:
|
|
25
|
+
command: push
|
|
26
|
+
packagesToPush: '$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.nupkg;!$(PIPELINE.WORKSPACE)/build-pipeline/drop/**/*.symbols.nupkg'
|
|
27
|
+
nuGetFeedType: external
|
|
28
|
+
publishFeedCredentials: 'NuGet.org - Release'
|
|
29
|
+
condition: and(succeeded(), eq('${{ parameters.nugetFeedType }}', 'external'))
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
parameters:
|
|
2
|
+
- name: stageDependencies
|
|
3
|
+
type: object
|
|
4
|
+
default: []
|
|
5
|
+
- name: goVersion
|
|
6
|
+
type: string
|
|
7
|
+
default: '1.17.1'
|
|
8
|
+
|
|
9
|
+
stages:
|
|
10
|
+
# This stage check if current branch runs on a pull request merge branch,
|
|
11
|
+
# then try to complete the pull request if it is true.
|
|
12
|
+
# WARNINGS: This stage should be run at the end of a pipeline, because upon
|
|
13
|
+
# completing a pull request the pipeline will be canceled and no stage
|
|
14
|
+
# or tasks will be run after this.
|
|
15
|
+
- stage: Go_List
|
|
16
|
+
displayName: "Make module available"
|
|
17
|
+
dependsOn: ${{ parameters.stageDependencies }}
|
|
18
|
+
|
|
19
|
+
variables:
|
|
20
|
+
- group: CIAutomation # Required to access CI variables
|
|
21
|
+
|
|
22
|
+
pool:
|
|
23
|
+
vmImage: 'ubuntu-18.04'
|
|
24
|
+
|
|
25
|
+
jobs:
|
|
26
|
+
- job: Go_List
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- checkout: self
|
|
30
|
+
submodules: recursive
|
|
31
|
+
persistCredentials: true
|
|
32
|
+
|
|
33
|
+
# Install go
|
|
34
|
+
- task: GoTool@0
|
|
35
|
+
displayName: 'Use go ${{ parameters.goVersion }}'
|
|
36
|
+
inputs:
|
|
37
|
+
version: '${{ parameters.goVersion }}'
|
|
38
|
+
|
|
39
|
+
# Run go list to make the module available
|
|
40
|
+
- bash: |
|
|
41
|
+
# Fetch all tags
|
|
42
|
+
git fetch --all --tags
|
|
43
|
+
if [ $? != 0 ]; then
|
|
44
|
+
echo "Failed to fetch all tags."
|
|
45
|
+
exit 1
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
# Check out current branch
|
|
49
|
+
git checkout $(Build.SourceBranchName)
|
|
50
|
+
if [ $? != 0 ]; then
|
|
51
|
+
echo "Failed to checkout branch '$(Build.SourceBranchName)'."
|
|
52
|
+
exit 1
|
|
53
|
+
fi
|
|
54
|
+
|
|
55
|
+
# Get tag version
|
|
56
|
+
export tagName="`git tag --points-at $(Build.SourceBranchName)`"
|
|
57
|
+
|
|
58
|
+
# Get module name
|
|
59
|
+
export modName=`cat go.mod | awk '/module/{print $2}'`
|
|
60
|
+
|
|
61
|
+
# Complete the corresponding pull request
|
|
62
|
+
GOPROXY=proxy.golang.org go list -m $modName@v$tagName
|
|
63
|
+
displayName: 'Make module available'
|
|
64
|
+
condition: and(succeeded(), eq(variables['AutomatedRelease'], 'On'))
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Java Specific CI/CD Approach
|
|
2
|
+
This API complies with the `common-ci` approach.
|
|
3
|
+
|
|
4
|
+
## Code Signing
|
|
5
|
+
We use Maven to package our Java APIs. The process of signing the result packages for Maven is different from Dotnet signing process.
|
|
6
|
+
1. The signing process for Java uses `PGP ASCII Armored File` with file extension `.asc` instead of `.pfx` as in Dotnet.
|
|
7
|
+
2. The process requires the `.asc` file to be imported using `gpg`.
|
|
8
|
+
3. Then the result package will be signed as part of Maven `install` process using `maven-gpg-plugin`.
|
|
9
|
+
|
|
10
|
+
## Deploy External
|
|
11
|
+
The deployment to external of Java Maven packages must be done in the following order:
|
|
12
|
+
|
|
13
|
+
1. `pipeline-java`
|
|
14
|
+
2. `device-detection-java`
|
|
15
|
+
3. `location-java`
|
|
16
|
+
|
|
17
|
+
Steps for each java repo:
|
|
18
|
+
1. Deploy packages to Nexus staging area - automatic.
|
|
19
|
+
2. Deploy from Nexus staging to Maven Central - requires approval.
|
|
20
|
+
3. Deploy to GitHub - requires approval.
|
|
21
|
+
|
|
22
|
+
All Java APIs share a staging area, so occasionally repositories are left in the staging area as a results of a possible cancellation or an unwanted pipeline termination, etc. This sometimes causes the deployment to staging to fail. In this case, it is the best to login to the Nexus staging area and manually drop all unwanted repositories and rerun the deployment process.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
parameters:
|
|
2
|
+
- name: gpgPassPhrase
|
|
3
|
+
|
|
4
|
+
steps:
|
|
5
|
+
# Download Java Maven GPG Key from SecureFile Library
|
|
6
|
+
- task: DownloadSecureFile@1
|
|
7
|
+
name: PackageSigningKey
|
|
8
|
+
displayName: 'Download Maven GPG Key'
|
|
9
|
+
inputs:
|
|
10
|
+
secureFile: 'Java Maven GPG Key Private.pgp'
|
|
11
|
+
retryCount: 5
|
|
12
|
+
|
|
13
|
+
- task: Bash@3
|
|
14
|
+
displayName: 'Import Maven GPG Key'
|
|
15
|
+
inputs:
|
|
16
|
+
targetType: 'inline'
|
|
17
|
+
script: 'echo ${{ parameters.gpgPassPhrase }} | gpg --import --batch --yes --passphrase-fd 0 "$(PackageSigningKey.secureFilePath)"'
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
parameters:
|
|
2
2
|
- name: publishConnection
|
|
3
3
|
- name: packageName
|
|
4
|
+
- name: internalFeedId
|
|
4
5
|
|
|
5
6
|
steps:
|
|
6
7
|
|
|
@@ -16,5 +17,10 @@ steps:
|
|
|
16
17
|
command: publish
|
|
17
18
|
workingDir: '$(PIPELINE.WORKSPACE)/build-pipeline/npm/${{ parameters.packageName }}/tmp/package'
|
|
18
19
|
verbose: false
|
|
19
|
-
|
|
20
|
+
${{ if eq(parameters.publishConnection, 'NPM publish connection') }}:
|
|
21
|
+
publishEndpoint: ${{ parameters.publishConnection }}
|
|
22
|
+
${{ if eq(parameters.publishConnection, 'NPM internal') }}:
|
|
23
|
+
publishRegistry: useFeed
|
|
24
|
+
publishFeed: '${{ parameters.internalFeedId }}'
|
|
25
|
+
|
|
20
26
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# PHP Specific CI/CD Approach
|
|
2
|
+
This API complies with the `common-ci` approach.
|
|
3
|
+
|
|
4
|
+
## Deploy External
|
|
5
|
+
The deployment to external of PHP involves a stage that builds and tests on actual external package. This is not required for internal pipelines such as `build-and-test.yml` as it is acceptable to just use submodule references. However, before deploy to external, the solution is required to work with other external packages. Thus, the deployment to external will fail as some dependencies packages are left waiting for a release engineer to approve. In this case, the failed deployment will need to be rerun after their dependency packages have been deployed to external.
|
|
6
|
+
|
|
7
|
+
Typically the deploy external pipelines should be completed in the following order:
|
|
8
|
+
|
|
9
|
+
1. `pipeline-php-core`
|
|
10
|
+
2. `pipeline-php-engines`
|
|
11
|
+
3. `pipeline-php-cloudrequestengine`
|
|
12
|
+
4. `device-detection-php`
|
|
13
|
+
5. `location-php`
|
|
14
|
+
|
|
15
|
+
`device-detection-onpremise-php` is not deployed as a package to Packagist but should be completed after `device-detection-php`
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"title": "Release Config",
|
|
5
|
+
"description": "Contains the release configuration for 51Degrees DevOps pipelines",
|
|
6
|
+
"properties": {
|
|
7
|
+
"repositories": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"patternProperties": {
|
|
10
|
+
"^[A-Za-z][A-Za-z0-9\\-]*$": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"version": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
|
|
16
|
+
},
|
|
17
|
+
"packageName": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"versionVariableName": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
},
|
|
23
|
+
"isLeaf": {
|
|
24
|
+
"type": "boolean"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"type": "array",
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"pattern": "^[A-Za-z][A-Za-z0-9\\-]*$"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"required": [
|
|
35
|
+
"version",
|
|
36
|
+
"isLeaf"
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": [
|
|
41
|
+
"common-ci"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"approvalRequired": {
|
|
45
|
+
"type": "boolean"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"required": [
|
|
49
|
+
"repositories",
|
|
50
|
+
"approvalRequired"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
@@ -0,0 +1,310 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repositories": {
|
|
3
|
+
"common-ci": {
|
|
4
|
+
"version": "4.3.2",
|
|
5
|
+
"isLeaf": true
|
|
6
|
+
},
|
|
7
|
+
"device-detection-data": {
|
|
8
|
+
"version": "4.3.1",
|
|
9
|
+
"isLeaf": false
|
|
10
|
+
},
|
|
11
|
+
"common-cxx": {
|
|
12
|
+
"version": "4.3.1",
|
|
13
|
+
"isLeaf": false,
|
|
14
|
+
"dependencies": [
|
|
15
|
+
"common-ci"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"device-detection-cxx": {
|
|
19
|
+
"version": "4.3.2",
|
|
20
|
+
"isLeaf": false,
|
|
21
|
+
"dependencies": [
|
|
22
|
+
"common-ci",
|
|
23
|
+
"common-cxx",
|
|
24
|
+
"device-detection-data"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"device-detection-varnish": {
|
|
28
|
+
"version": "4.3.0",
|
|
29
|
+
"isLeaf": false,
|
|
30
|
+
"dependencies": [
|
|
31
|
+
"common-ci",
|
|
32
|
+
"device-detection-cxx"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"device-detection-nginx": {
|
|
36
|
+
"version": "4.3.1",
|
|
37
|
+
"isLeaf": false,
|
|
38
|
+
"dependencies": [
|
|
39
|
+
"common-ci",
|
|
40
|
+
"device-detection-cxx"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"pipeline-java": {
|
|
44
|
+
"version": "4.3.0",
|
|
45
|
+
"packageName": "pipeline",
|
|
46
|
+
"versionVariableName": "pipeline.version",
|
|
47
|
+
"isLeaf": false,
|
|
48
|
+
"dependencies": [
|
|
49
|
+
"common-ci"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"location-java": {
|
|
53
|
+
"version": "4.3.0",
|
|
54
|
+
"packageName": "pipeline.geo-location",
|
|
55
|
+
"versionVariableName": "geolocation.version",
|
|
56
|
+
"isLeaf": false,
|
|
57
|
+
"dependencies": [
|
|
58
|
+
"common-ci",
|
|
59
|
+
"pipeline-java",
|
|
60
|
+
"device-detection-java"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"location-onpremise-java": {
|
|
64
|
+
"version": "4.3.0",
|
|
65
|
+
"packageName": "geo-location.digitalelement",
|
|
66
|
+
"versionVariableName": "geolocation.digitalelement.version",
|
|
67
|
+
"isLeaf": false,
|
|
68
|
+
"dependencies": [
|
|
69
|
+
"common-ci",
|
|
70
|
+
"pipeline-java",
|
|
71
|
+
"location-java"
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
"device-detection-java": {
|
|
75
|
+
"version": "4.3.0",
|
|
76
|
+
"packageName": "pipeline.device-detection",
|
|
77
|
+
"versionVariableName": "devicedetection.version",
|
|
78
|
+
"isLeaf": false,
|
|
79
|
+
"dependencies": [
|
|
80
|
+
"common-ci",
|
|
81
|
+
"device-detection-cxx",
|
|
82
|
+
"pipeline-java"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"common-dotnet": {
|
|
86
|
+
"version": "4.3.1",
|
|
87
|
+
"packageName": "FiftyOne.Common",
|
|
88
|
+
"isLeaf": false,
|
|
89
|
+
"dependencies": [
|
|
90
|
+
"common-ci"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
"caching-dotnet": {
|
|
94
|
+
"version": "4.3.1",
|
|
95
|
+
"packageName": "FiftyOne.Caching",
|
|
96
|
+
"isLeaf": false,
|
|
97
|
+
"dependencies": [
|
|
98
|
+
"common-ci"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
"pipeline-dotnet": {
|
|
102
|
+
"version": "4.3.1",
|
|
103
|
+
"packageName": "FiftyOne.Pipeline",
|
|
104
|
+
"isLeaf": false,
|
|
105
|
+
"dependencies": [
|
|
106
|
+
"common-ci",
|
|
107
|
+
"common-dotnet",
|
|
108
|
+
"caching-dotnet"
|
|
109
|
+
]
|
|
110
|
+
},
|
|
111
|
+
"location-dotnet": {
|
|
112
|
+
"version": "4.3.2",
|
|
113
|
+
"packageName": "FiftyOne.Geolocation",
|
|
114
|
+
"isLeaf": false,
|
|
115
|
+
"dependencies": [
|
|
116
|
+
"common-ci",
|
|
117
|
+
"common-dotnet",
|
|
118
|
+
"pipeline-dotnet",
|
|
119
|
+
"device-detection-dotnet"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
"device-detection-dotnet": {
|
|
123
|
+
"version": "4.3.1",
|
|
124
|
+
"packageName": "FiftyOne.DeviceDetection",
|
|
125
|
+
"isLeaf": false,
|
|
126
|
+
"dependencies": [
|
|
127
|
+
"common-ci",
|
|
128
|
+
"device-detection-cxx",
|
|
129
|
+
"caching-dotnet",
|
|
130
|
+
"common-dotnet",
|
|
131
|
+
"pipeline-dotnet"
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
"license-dotnet": {
|
|
135
|
+
"version": "4.3.0",
|
|
136
|
+
"packageName": "FiftyOne.(License|Resource)",
|
|
137
|
+
"isLeaf": false,
|
|
138
|
+
"dependencies": [
|
|
139
|
+
"common-ci"
|
|
140
|
+
]
|
|
141
|
+
},
|
|
142
|
+
"entitlement-dotnet": {
|
|
143
|
+
"version": "4.1.9",
|
|
144
|
+
"isLeaf": false,
|
|
145
|
+
"dependencies": [
|
|
146
|
+
"common-ci",
|
|
147
|
+
"common-dotnet",
|
|
148
|
+
"license-dotnet",
|
|
149
|
+
"pipeline-dotnet"
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"internal-engines-dotnet": {
|
|
153
|
+
"version": "4.3.0",
|
|
154
|
+
"packageName": "FiftyOne.GeoLocation.OnPremise",
|
|
155
|
+
"isLeaf": false,
|
|
156
|
+
"dependencies": [
|
|
157
|
+
"common-ci",
|
|
158
|
+
"common-dotnet",
|
|
159
|
+
"pipeline-dotnet",
|
|
160
|
+
"device-detection-dotnet",
|
|
161
|
+
"location-dotnet"
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"pipeline-node": {
|
|
165
|
+
"version": "4.3.1",
|
|
166
|
+
"packageName": "fiftyone.pipeline",
|
|
167
|
+
"isLeaf": false,
|
|
168
|
+
"dependencies": [
|
|
169
|
+
"common-ci"
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
"location-node": {
|
|
173
|
+
"version": "4.3.1",
|
|
174
|
+
"packageName": "fiftyone.geolocation",
|
|
175
|
+
"isLeaf": false,
|
|
176
|
+
"dependencies": [
|
|
177
|
+
"common-ci",
|
|
178
|
+
"pipeline-node",
|
|
179
|
+
"device-detection-node"
|
|
180
|
+
]
|
|
181
|
+
},
|
|
182
|
+
"device-detection-node": {
|
|
183
|
+
"version": "4.3.1",
|
|
184
|
+
"packageName": "fiftyone.devicedetection",
|
|
185
|
+
"isLeaf": false,
|
|
186
|
+
"dependencies": [
|
|
187
|
+
"common-ci",
|
|
188
|
+
"device-detection-cxx",
|
|
189
|
+
"pipeline-node"
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
"pipeline-python": {
|
|
193
|
+
"version": "4.3.1",
|
|
194
|
+
"packageName": "fiftyone_pipeline",
|
|
195
|
+
"versionVariableName": "pipelineVersion",
|
|
196
|
+
"isLeaf": false,
|
|
197
|
+
"dependencies": [
|
|
198
|
+
"common-ci"
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
"location-python": {
|
|
202
|
+
"version": "4.3.0",
|
|
203
|
+
"packageName": "fiftyone_location",
|
|
204
|
+
"versionVariableName": "locationVersion",
|
|
205
|
+
"isLeaf": false,
|
|
206
|
+
"dependencies": [
|
|
207
|
+
"common-ci",
|
|
208
|
+
"pipeline-python"
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
"device-detection-python": {
|
|
212
|
+
"version": "4.3.0",
|
|
213
|
+
"packageName": "fiftyone_devicedetection",
|
|
214
|
+
"versionVariableName": "deviceDetectionVersion",
|
|
215
|
+
"isLeaf": false,
|
|
216
|
+
"dependencies": [
|
|
217
|
+
"common-ci",
|
|
218
|
+
"device-detection-cxx",
|
|
219
|
+
"pipeline-python"
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
"pipeline-php-core": {
|
|
223
|
+
"version": "4.3.1",
|
|
224
|
+
"packageName": "fiftyone.pipeline.core",
|
|
225
|
+
"isLeaf": false,
|
|
226
|
+
"dependencies": [
|
|
227
|
+
"common-ci"
|
|
228
|
+
]
|
|
229
|
+
},
|
|
230
|
+
"pipeline-php-engines": {
|
|
231
|
+
"version": "4.3.1",
|
|
232
|
+
"packageName": "fiftyone.pipeline.engines",
|
|
233
|
+
"isLeaf": false,
|
|
234
|
+
"dependencies": [
|
|
235
|
+
"common-ci",
|
|
236
|
+
"pipeline-php-core"
|
|
237
|
+
]
|
|
238
|
+
},
|
|
239
|
+
"pipeline-php-cloudrequestengine": {
|
|
240
|
+
"version": "4.3.1",
|
|
241
|
+
"packageName": "fiftyone.pipeline.cloudrequestengine",
|
|
242
|
+
"isLeaf": false,
|
|
243
|
+
"dependencies": [
|
|
244
|
+
"common-ci",
|
|
245
|
+
"pipeline-php-core",
|
|
246
|
+
"pipeline-php-engines"
|
|
247
|
+
]
|
|
248
|
+
},
|
|
249
|
+
"location-php": {
|
|
250
|
+
"version": "4.3.1",
|
|
251
|
+
"packageName": "fiftyone.geolocation",
|
|
252
|
+
"isLeaf": false,
|
|
253
|
+
"dependencies": [
|
|
254
|
+
"common-ci",
|
|
255
|
+
"pipeline-php-core",
|
|
256
|
+
"pipeline-php-engines",
|
|
257
|
+
"pipeline-php-cloudrequestengine",
|
|
258
|
+
"device-detection-php"
|
|
259
|
+
]
|
|
260
|
+
},
|
|
261
|
+
"device-detection-php-onpremise": {
|
|
262
|
+
"version": "4.3.1",
|
|
263
|
+
"packageName": "fiftyone.devicedetection",
|
|
264
|
+
"isLeaf": false,
|
|
265
|
+
"dependencies": [
|
|
266
|
+
"common-ci",
|
|
267
|
+
"device-detection-cxx",
|
|
268
|
+
"pipeline-php-core",
|
|
269
|
+
"pipeline-php-engines"
|
|
270
|
+
]
|
|
271
|
+
},
|
|
272
|
+
"device-detection-php": {
|
|
273
|
+
"version": "4.3.1",
|
|
274
|
+
"packageName": "fiftyone.devicedetection",
|
|
275
|
+
"isLeaf": false,
|
|
276
|
+
"dependencies": [
|
|
277
|
+
"common-ci",
|
|
278
|
+
"pipeline-php-core",
|
|
279
|
+
"pipeline-php-engines",
|
|
280
|
+
"pipeline-php-cloudrequestengine"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
"pipeline-wordpress": {
|
|
284
|
+
"version": "0.9.0",
|
|
285
|
+
"packageName": "fiftyonedegrees.wordpress",
|
|
286
|
+
"isLeaf": false,
|
|
287
|
+
"dependencies": [
|
|
288
|
+
"common-ci",
|
|
289
|
+
"pipeline-php-cloudrequestengine"
|
|
290
|
+
]
|
|
291
|
+
},
|
|
292
|
+
"device-detection-go": {
|
|
293
|
+
"version": "4.3.1",
|
|
294
|
+
"isLeaf": false,
|
|
295
|
+
"dependencies": [
|
|
296
|
+
"common-ci",
|
|
297
|
+
"device-detection-cxx"
|
|
298
|
+
]
|
|
299
|
+
},
|
|
300
|
+
"device-detection-examples-go": {
|
|
301
|
+
"version": "4.3.0",
|
|
302
|
+
"isLeaf": false,
|
|
303
|
+
"dependencies": [
|
|
304
|
+
"common-ci",
|
|
305
|
+
"device-detection-go"
|
|
306
|
+
]
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
"approvalRequired": false
|
|
310
|
+
}
|