Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad52a31bda | ||
|
|
b8df3542ce | ||
|
|
4090f70509 | ||
|
|
5f2a8b7486 | ||
|
|
9a0c41862a | ||
|
|
12398bf4da | ||
|
|
969586f961 | ||
|
|
0df4aab1a8 | ||
|
|
ca2c8097d2 | ||
|
|
300345b152 | ||
|
|
ef8d92d27a |
4
.github/workflows/ci.yml
vendored
4
.github/workflows/ci.yml
vendored
@@ -19,11 +19,11 @@ jobs:
|
||||
npm run build:azure
|
||||
name: Build code
|
||||
- name: Install GitVersion
|
||||
uses: ./setup-gitversion
|
||||
uses: ./gitversion/setup
|
||||
with:
|
||||
versionSpec: '5.1.2'
|
||||
- name: Use GitVersion
|
||||
id: gitversion # step id used as reference for output values
|
||||
uses: ./execute-gitversion
|
||||
uses: ./gitversion/execute
|
||||
- run: |
|
||||
echo "FullSemVer: ${{ steps.gitversion.outputs.fullSemVer }}"
|
||||
|
||||
7
.github/workflows/release.yml
vendored
7
.github/workflows/release.yml
vendored
@@ -21,12 +21,12 @@ jobs:
|
||||
npm run build:azure
|
||||
name: Build code
|
||||
- name: Install GitVersion
|
||||
uses: ./setup-gitversion
|
||||
uses: ./gitversion/setup
|
||||
with:
|
||||
versionSpec: '5.1.2'
|
||||
- name: Use GitVersion
|
||||
id: gitversion # step id used as reference for output values
|
||||
uses: ./execute-gitversion
|
||||
uses: ./gitversion/execute
|
||||
- run: |
|
||||
$date = Get-Date -format "yyMMddHHmm"
|
||||
$version = "${{steps.gitversion.outputs.majorMinorPatch}}.$date"
|
||||
@@ -35,8 +35,7 @@ jobs:
|
||||
|
||||
. .\dist\azure\update-version.ps1
|
||||
update-manifest .\dist\azure\vss-extension.json -Version $version
|
||||
update-task .\dist\azure\setup-gitversion\task.json -Major $major -Minor $minor
|
||||
update-task .\dist\azure\execute-gitversion\task.json -Major $major -Minor $minor
|
||||
dir -r .\dist\**\task.json | % { update-task $_ -Major $major -Minor $minor }
|
||||
|
||||
npm run publish:azure -- --token ${{ secrets.TFX_TOKEN }}
|
||||
shell: pwsh
|
||||
|
||||
12
.vscode/launch.json
vendored
12
.vscode/launch.json
vendored
@@ -9,7 +9,7 @@
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build-Mock",
|
||||
"name": "Debug Mock Setup GitVersion",
|
||||
"program": "${workspaceFolder}/dist/mock/setup-gitversion/bundle.js",
|
||||
"program": "${workspaceFolder}/dist/mock/gitversion/setup/bundle.js",
|
||||
"outFiles": [ "${workspaceFolder}/**/*.js" ]
|
||||
},
|
||||
{
|
||||
@@ -17,7 +17,7 @@
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build-Azure",
|
||||
"name": "Debug Azure Setup GitVersion",
|
||||
"program": "${workspaceFolder}/dist/azure/setup-gitversion/bundle.js",
|
||||
"program": "${workspaceFolder}/dist/azure/gitversion/setup/bundle.js",
|
||||
"outFiles": [ "${workspaceFolder}/**/*.js" ]
|
||||
},
|
||||
{
|
||||
@@ -25,7 +25,7 @@
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build-GitHub",
|
||||
"name": "Debug GitHub Setup GitVersion",
|
||||
"program": "${workspaceFolder}/dist/github/setup-gitversion/bundle.js",
|
||||
"program": "${workspaceFolder}/dist/github/gitversion/setup/bundle.js",
|
||||
"outFiles": [ "${workspaceFolder}/**/*.js" ]
|
||||
},
|
||||
{
|
||||
@@ -33,7 +33,7 @@
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build-Mock",
|
||||
"name": "Debug Mock Execute GitVersion",
|
||||
"program": "${workspaceFolder}/dist/mock/execute-gitversion/bundle.js",
|
||||
"program": "${workspaceFolder}/dist/mock/gitversion/execute/bundle.js",
|
||||
"outFiles": [ "${workspaceFolder}/**/*.js" ]
|
||||
},
|
||||
{
|
||||
@@ -41,7 +41,7 @@
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build-Azure",
|
||||
"name": "Debug Azure Execute GitVersion",
|
||||
"program": "${workspaceFolder}/dist/azure/execute-gitversion/bundle.js",
|
||||
"program": "${workspaceFolder}/dist/azure/gitversion/execute/bundle.js",
|
||||
"outFiles": [ "${workspaceFolder}/**/*.js" ]
|
||||
},
|
||||
{
|
||||
@@ -49,7 +49,7 @@
|
||||
"request": "launch",
|
||||
"preLaunchTask": "Build-GitHub",
|
||||
"name": "Debug GitHub Execute GitVersion",
|
||||
"program": "${workspaceFolder}/dist/github/execute-gitversion/bundle.js",
|
||||
"program": "${workspaceFolder}/dist/github/gitversion/execute/bundle.js",
|
||||
"outFiles": [ "${workspaceFolder}/**/*.js" ]
|
||||
},
|
||||
]
|
||||
|
||||
18
README.md
18
README.md
@@ -9,7 +9,7 @@ GitHub Actions that allow to install and use the GitVersion and GitReleaseManage
|
||||
|
||||
## Usage
|
||||
|
||||
See [setup](setup-gitversion/action.yml) and [usage](execute-gitversion/action.yml)
|
||||
See [setup](gitversion/setup) and [usage](gitversion/execute/action.yml)
|
||||
|
||||
## Dependency
|
||||
|
||||
@@ -20,26 +20,24 @@ There are two step dependencies that are required in your workflow before runnin
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Fetch all history for all tags and branches
|
||||
run: |
|
||||
git fetch --prune --unshallow
|
||||
run: git fetch --prune --unshallow
|
||||
```
|
||||
|
||||
Basic:
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- name: Fetch tags and master for GitVersion
|
||||
run: |
|
||||
git fetch --tags
|
||||
git branch --create-reflog master origin/master
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v2
|
||||
- name: Fetch all history for all tags and branches
|
||||
run: git fetch --prune --unshallow
|
||||
- name: Install GitVersion
|
||||
uses: gittools/actions/setup-gitversion@v0.3
|
||||
uses: gittools/actions/gitversion/setup@v0.6
|
||||
with:
|
||||
versionSpec: '5.1.x'
|
||||
- name: Use GitVersion
|
||||
id: gitversion # step id used as reference for output values
|
||||
uses: gittools/actions/execute-gitversion@v0.3
|
||||
uses: gittools/actions/gitversion/execute@v0.6
|
||||
- run: |
|
||||
echo "Major: ${{ steps.gitversion.outputs.major }}"
|
||||
echo "Minor: ${{ steps.gitversion.outputs.minor }}"
|
||||
|
||||
18236
dist/azure/gitreleasemanager/setup/bundle.js
vendored
Normal file
18236
dist/azure/gitreleasemanager/setup/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
BIN
dist/azure/gitreleasemanager/setup/icon.png
vendored
Normal file
BIN
dist/azure/gitreleasemanager/setup/icon.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
41
dist/azure/gitreleasemanager/setup/task.json
vendored
Normal file
41
dist/azure/gitreleasemanager/setup/task.json
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"id": "e3022448-b00d-4b57-b504-606a0bcf8279",
|
||||
"name": "gitreleasemanager/setup",
|
||||
"friendlyName": "Setup GitReleaseManager Task",
|
||||
"description": "Tool for creating and exporting releases for software applications hosted on GitHub",
|
||||
"author": "GitTools Contributors",
|
||||
"helpMarkDown": "See the [documentation](https://gittools.github.io/GitReleaseManager/docs/) for help",
|
||||
"category": "Build",
|
||||
"demands": [],
|
||||
"version": {
|
||||
"Major": "1",
|
||||
"Minor": "0",
|
||||
"Patch": "0"
|
||||
},
|
||||
"minimumAgentVersion": "2.115.0",
|
||||
"execution": {
|
||||
"Node": {
|
||||
"target": "bundle.js",
|
||||
"argumentFormat": "",
|
||||
"workingDirectory": "."
|
||||
}
|
||||
},
|
||||
"instanceNameFormat": "gitreleasemanager/setup",
|
||||
"inputs": [{
|
||||
"name": "versionSpec",
|
||||
"type": "string",
|
||||
"label": "The version spec",
|
||||
"defaultValue": "",
|
||||
"required": true,
|
||||
"helpMarkDown": "Required version in the form of 0.10.x or exact version like 0.10.2"
|
||||
},
|
||||
{
|
||||
"name": "includePrerelease",
|
||||
"type": "boolean",
|
||||
"label": "Include pre-release versions",
|
||||
"defaultValue": "false",
|
||||
"required": false,
|
||||
"helpMarkDown": "Include pre-release versions when matching a version"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"id": "9013cf7f-ee8d-49f4-a39b-db244928d391",
|
||||
"name": "gitversion-execute",
|
||||
"name": "gitversion/execute",
|
||||
"friendlyName": "Execute GitVersion Task",
|
||||
"description": "Easy Semantic Versioning (http://semver.org) for projects using Git",
|
||||
"author": "GitVersion Contributors",
|
||||
"helpMarkDown": "See the [documentation](http://gitversion.readthedocs.org/en/latest/) for help",
|
||||
"author": "GitTools Contributors",
|
||||
"helpMarkDown": "See the [documentation](https://gitversion.net/docs/) for help",
|
||||
"category": "Build",
|
||||
"demands": [],
|
||||
"version": {
|
||||
@@ -20,7 +20,7 @@
|
||||
"workingDirectory": "."
|
||||
}
|
||||
},
|
||||
"instanceNameFormat": "gitversion-execute",
|
||||
"instanceNameFormat": "gitversion/execute",
|
||||
"groups": [{
|
||||
"name": "gitversionDetails",
|
||||
"displayName": "GitVersion details",
|
||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
46
dist/azure/gitversion/setup/lib.json
vendored
Normal file
46
dist/azure/gitversion/setup/lib.json
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"messages": {
|
||||
"LIB_UnhandledEx": "Unhandled: %s",
|
||||
"LIB_FailOnCode": "Failure return code: %d",
|
||||
"LIB_MkdirFailed": "Unable to create directory '%s'. %s",
|
||||
"LIB_MkdirFailedFileExists": "Unable to create directory '%s'. Conflicting file exists: '%s'",
|
||||
"LIB_MkdirFailedInvalidDriveRoot": "Unable to create directory '%s'. Root directory does not exist: '%s'",
|
||||
"LIB_MkdirFailedInvalidShare": "Unable to create directory '%s'. Unable to verify the directory exists: '%s'. If directory is a file share, please verify the share name is correct, the share is online, and the current process has permission to access the share.",
|
||||
"LIB_MultilineSecret": "Secrets cannot contain multiple lines",
|
||||
"LIB_ProcessError": "There was an error when attempting to execute the process '%s'. This may indicate the process failed to start. Error: %s",
|
||||
"LIB_ProcessExitCode": "The process '%s' failed with exit code %s",
|
||||
"LIB_ProcessStderr": "The process '%s' failed because one or more lines were written to the STDERR stream",
|
||||
"LIB_ReturnCode": "Return code: %d",
|
||||
"LIB_ResourceFileNotExist": "Resource file doesn\\'t exist: %s",
|
||||
"LIB_ResourceFileAlreadySet": "Resource file has already set to: %s",
|
||||
"LIB_ResourceFileNotSet": "Resource file haven\\'t set, can\\'t find loc string for key: %s",
|
||||
"LIB_StdioNotClosed": "The STDIO streams did not close within %s seconds of the exit event from process '%s'. This may indicate a child process inherited the STDIO streams and has not yet exited.",
|
||||
"LIB_WhichNotFound_Linux": "Unable to locate executable file: '%s'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.",
|
||||
"LIB_WhichNotFound_Win": "Unable to locate executable file: '%s'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.",
|
||||
"LIB_LocStringNotFound": "Can\\'t find loc string for key: %s",
|
||||
"LIB_ParameterIsRequired": "%s not supplied",
|
||||
"LIB_InputRequired": "Input required: %s",
|
||||
"LIB_InvalidPattern": "Invalid pattern: '%s'",
|
||||
"LIB_EndpointNotExist": "Endpoint not present: %s",
|
||||
"LIB_EndpointDataNotExist": "Endpoint data parameter %s not present: %s",
|
||||
"LIB_EndpointAuthNotExist": "Endpoint auth data not present: %s",
|
||||
"LIB_InvalidEndpointAuth": "Invalid endpoint auth: %s",
|
||||
"LIB_InvalidSecureFilesInput": "Invalid secure file input: %s",
|
||||
"LIB_PathNotFound": "Not found %s: %s",
|
||||
"LIB_PathHasNullByte": "Path cannot contain null bytes",
|
||||
"LIB_OperationFailed": "Failed %s: %s",
|
||||
"LIB_UseFirstGlobMatch": "Multiple workspace matches. using first.",
|
||||
"LIB_MergeTestResultNotSupported": "Merging test results from multiple files to one test run is not supported on this version of build agent for OSX/Linux, each test result file will be published as a separate test run in VSO/TFS.",
|
||||
"LIB_PlatformNotSupported": "Platform not supported: %s",
|
||||
"TOOL_LIB_CachingTool": "Caching tool: %s %s %s",
|
||||
"_TOOL_LIB_CachingTool.comment": "This informational log message indicates that a tool, that was just downloaded, is being copied into the cache directory. %s %s %s represent the tool name, version information, and processor architecture.",
|
||||
"TOOL_LIB_Downloading": "Downloading: %s",
|
||||
"_TOOL_LIB_Downloading.comment": "This information log message indicates that a file is being downloaded. %s represents the URL being downloaded.",
|
||||
"TOOL_LIB_ExtractingArchive": "Extracting archive",
|
||||
"_TOOL_LIB_ExtractingArchive.comment": "This informational log message indicates that an archive file is being extracted. For example, a .zip file, .7z file, or .tar.gz file.",
|
||||
"TOOL_LIB_FoundInCache": "Found tool in cache: %s %s %s",
|
||||
"_TOOL_LIB_FoundInCache.comment": "This informational log message indicates that the request tool is already cached, and does not need to be downloaded again. %s %s %s represent the tool name, version information, and processor architecture.",
|
||||
"TOOL_LIB_PrependPath": "Prepending PATH environment variable with directory: %s",
|
||||
"_TOOL_LIB_PrependPath.comment": "This informational log message indicates that a directory is being prepended to the front of the PATH environment variable. The directories specified by the PATH environment variable are used to resolve the location of command line tools."
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"id": "a06c02ae-7b9a-4082-90dc-fe27b500e54f",
|
||||
"name": "gitversion-setup",
|
||||
"name": "gitversion/setup",
|
||||
"friendlyName": "Setup GitVersion Task",
|
||||
"description": "Easy Semantic Versioning (http://semver.org) for projects using Git",
|
||||
"author": "GitVersion Contributors",
|
||||
"helpMarkDown": "See the [documentation](http://gitversion.readthedocs.org/en/latest/) for help",
|
||||
"author": "GitTools Contributors",
|
||||
"helpMarkDown": "See the [documentation](https://gitversion.net/docs/) for help",
|
||||
"category": "Build",
|
||||
"demands": [],
|
||||
"version": {
|
||||
@@ -20,7 +20,7 @@
|
||||
"workingDirectory": "."
|
||||
}
|
||||
},
|
||||
"instanceNameFormat": "gitversion-setup",
|
||||
"instanceNameFormat": "gitversion/setup",
|
||||
"inputs": [{
|
||||
"name": "versionSpec",
|
||||
"type": "string",
|
||||
22
dist/azure/vss-extension.json
vendored
22
dist/azure/vss-extension.json
vendored
@@ -11,8 +11,9 @@
|
||||
"id": "Microsoft.VisualStudio.Services"
|
||||
}],
|
||||
"files": [
|
||||
{ "path": "execute-gitversion" },
|
||||
{ "path": "setup-gitversion" }
|
||||
{ "path": "gitversion/setup" },
|
||||
{ "path": "gitversion/execute" },
|
||||
{ "path": "gitreleasemanager/setup" }
|
||||
],
|
||||
"categories": [
|
||||
"Azure Pipelines"
|
||||
@@ -32,10 +33,10 @@
|
||||
],
|
||||
"links": {
|
||||
"learn": {
|
||||
"uri": "http://gitversion.readthedocs.org/en/stable"
|
||||
"uri": "https://github.com/GitTools/actions"
|
||||
},
|
||||
"getstarted": {
|
||||
"uri": "http://gitversion.readthedocs.org/en/stable/build-server-support/build-server/tfs-build-vnext/#running-inside-tfs"
|
||||
"uri": "https://github.com/GitTools/actions"
|
||||
},
|
||||
"license": {
|
||||
"uri": "https://github.com/GitTools/actions/blob/master/LICENSE"
|
||||
@@ -66,7 +67,7 @@
|
||||
"ms.vss-distributed-task.tasks"
|
||||
],
|
||||
"properties": {
|
||||
"name": "setup-gitversion"
|
||||
"name": "gitversion/setup"
|
||||
}
|
||||
}, {
|
||||
"id": "execute-gitversion-task",
|
||||
@@ -75,7 +76,16 @@
|
||||
"ms.vss-distributed-task.tasks"
|
||||
],
|
||||
"properties": {
|
||||
"name": "execute-gitversion"
|
||||
"name": "gitversion/execute"
|
||||
}
|
||||
}, {
|
||||
"id": "setup-gitreleasemanager-task",
|
||||
"type": "ms.vss-distributed-task.task",
|
||||
"targets": [
|
||||
"ms.vss-distributed-task.tasks"
|
||||
],
|
||||
"properties": {
|
||||
"name": "gitreleasemanager/setup"
|
||||
}
|
||||
}]
|
||||
}
|
||||
11983
dist/github/execute-gitversion/bundle.js
vendored
11983
dist/github/execute-gitversion/bundle.js
vendored
File diff suppressed because one or more lines are too long
11933
dist/github/gitreleasemanager/setup/bundle.js
vendored
Normal file
11933
dist/github/gitreleasemanager/setup/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12003
dist/github/gitversion/execute/bundle.js
vendored
Normal file
12003
dist/github/gitversion/execute/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12003
dist/github/gitversion/setup/bundle.js
vendored
Normal file
12003
dist/github/gitversion/setup/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
11983
dist/github/setup-gitversion/bundle.js
vendored
11983
dist/github/setup-gitversion/bundle.js
vendored
File diff suppressed because one or more lines are too long
7693
dist/mock/execute-gitversion/bundle.js
vendored
7693
dist/mock/execute-gitversion/bundle.js
vendored
File diff suppressed because one or more lines are too long
7643
dist/mock/gitreleasemanager/setup/bundle.js
vendored
Normal file
7643
dist/mock/gitreleasemanager/setup/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7713
dist/mock/gitversion/execute/bundle.js
vendored
Normal file
7713
dist/mock/gitversion/execute/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7713
dist/mock/gitversion/setup/bundle.js
vendored
Normal file
7713
dist/mock/gitversion/setup/bundle.js
vendored
Normal file
File diff suppressed because one or more lines are too long
7693
dist/mock/setup-gitversion/bundle.js
vendored
7693
dist/mock/setup-gitversion/bundle.js
vendored
File diff suppressed because one or more lines are too long
18
gitreleasemanager/setup/action.yml
Normal file
18
gitreleasemanager/setup/action.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
name: gitreleasemanager-setup
|
||||
description: GitHub Action for creating and exporting releases for software applications hosted on GitHub. Installs the specific version of GitReleaseManager.Tool
|
||||
author: GitTools
|
||||
branding:
|
||||
color: gray-dark
|
||||
icon: git-pull-request
|
||||
runs:
|
||||
using: node12
|
||||
main: ../../dist/github/gitreleasemanager/setup/bundle.js
|
||||
inputs:
|
||||
versionSpec:
|
||||
description: Required version in the form of 0.10.x or exact version like 0.10.2
|
||||
required: true
|
||||
default: ''
|
||||
includePrerelease:
|
||||
description: Include pre-release versions when matching a version
|
||||
required: false
|
||||
default: false
|
||||
@@ -6,7 +6,7 @@ branding:
|
||||
icon: git-pull-request
|
||||
runs:
|
||||
using: node12
|
||||
main: ../dist/github/execute-gitversion/bundle.js
|
||||
main: ../../dist/github/gitversion/execute/bundle.js
|
||||
inputs:
|
||||
targetPath:
|
||||
description: Optionally supply the path to the working directory
|
||||
@@ -6,7 +6,7 @@ branding:
|
||||
icon: git-pull-request
|
||||
runs:
|
||||
using: node12
|
||||
main: ../dist/github/setup-gitversion/bundle.js
|
||||
main: ../../dist/github/gitversion/setup/bundle.js
|
||||
inputs:
|
||||
versionSpec:
|
||||
description: Required version in the form of 5.x or exact version like 5.0.0
|
||||
64
package-lock.json
generated
64
package-lock.json
generated
@@ -5,9 +5,9 @@
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"@actions/core": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.1.tgz",
|
||||
"integrity": "sha512-xD+CQd9p4lU7ZfRqmUcbJpqR+Ss51rJRVeXMyOLrZQImN9/8Sy/BEUBnHO/UKD3z03R686PVTLfEPmkropGuLw=="
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.2.tgz",
|
||||
"integrity": "sha512-IbCx7oefq+Gi6FWbSs2Fnw8VkEI6Y4gvjrYprY3RV//ksq/KPMlClOerJ4jRosyal6zkUIc8R9fS/cpRMlGClg=="
|
||||
},
|
||||
"@actions/exec": {
|
||||
"version": "1.0.3",
|
||||
@@ -18,9 +18,19 @@
|
||||
}
|
||||
},
|
||||
"@actions/http-client": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.1.tgz",
|
||||
"integrity": "sha512-vy5DhqTJ1gtEkpRrD/6BHhUlkeyccrOX0BT9KmtO5TWxe5KSSwVHFE+J15Z0dG+tJwZJ/nHC4slUIyqpkahoMg=="
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.3.tgz",
|
||||
"integrity": "sha512-wFwh1U4adB/Zsk4cc9kVqaBOHoknhp/pJQk+aWTocbAZWpIl4Zx/At83WFRLXvxB+5HVTWOACM6qjULMZfQSfw==",
|
||||
"requires": {
|
||||
"tunnel": "0.0.6"
|
||||
},
|
||||
"dependencies": {
|
||||
"tunnel": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
|
||||
"integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"@actions/io": {
|
||||
"version": "1.0.2",
|
||||
@@ -28,13 +38,13 @@
|
||||
"integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg=="
|
||||
},
|
||||
"@actions/tool-cache": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.3.0.tgz",
|
||||
"integrity": "sha512-pbv32I89niDShw1YTDo0OFQmWPkZPElE7e3So1jfEzjIyzGRfYIzshwOVhemJZLcDtzo3kxO3GFDAmuVvub/6w==",
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-1.3.1.tgz",
|
||||
"integrity": "sha512-sKoEJv0/c7WzjPEq2PO12Sc8QdEp58XIBHMm3c4lUn/iZWgLz9HBeCuFGpLQjDvXJNfLZ4g+WD+rMjgOmpH4Ag==",
|
||||
"requires": {
|
||||
"@actions/core": "^1.2.0",
|
||||
"@actions/exec": "^1.0.0",
|
||||
"@actions/http-client": "^1.0.1",
|
||||
"@actions/http-client": "^1.0.3",
|
||||
"@actions/io": "^1.0.1",
|
||||
"semver": "^6.1.0",
|
||||
"uuid": "^3.3.2"
|
||||
@@ -48,18 +58,18 @@
|
||||
}
|
||||
},
|
||||
"@babel/code-frame": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
|
||||
"integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
|
||||
"integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/highlight": "^7.0.0"
|
||||
"@babel/highlight": "^7.8.3"
|
||||
}
|
||||
},
|
||||
"@babel/highlight": {
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
|
||||
"integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
|
||||
"integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^2.0.0",
|
||||
@@ -68,9 +78,9 @@
|
||||
}
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "13.1.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.8.tgz",
|
||||
"integrity": "sha512-6XzyyNM9EKQW4HKuzbo/CkOIjn/evtCmsU+MUM1xDfJ+3/rNjBttM1NgN7AOQvN6tP1Sl1D1PIKMreTArnxM9A==",
|
||||
"version": "13.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.5.0.tgz",
|
||||
"integrity": "sha512-Onhn+z72D2O2Pb2ql2xukJ55rglumsVo1H6Fmyi8mlU9SvKdBk/pUSUAiBY/d9bAOF7VVWajX3sths/+g6ZiAQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/q": {
|
||||
@@ -1562,9 +1572,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"diff": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz",
|
||||
"integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==",
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
|
||||
"integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
||||
"dev": true
|
||||
},
|
||||
"diffie-hellman": {
|
||||
@@ -5455,9 +5465,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"tslint": {
|
||||
"version": "5.20.1",
|
||||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz",
|
||||
"integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==",
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tslint/-/tslint-6.0.0.tgz",
|
||||
"integrity": "sha512-9nLya8GBtlFmmFMW7oXXwoXS1NkrccqTqAtwXzdPV9e2mqSEvCki6iHL/Fbzi5oqbugshzgGPk7KBb2qNP1DSA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
@@ -5471,7 +5481,7 @@
|
||||
"mkdirp": "^0.5.1",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.3.0",
|
||||
"tslib": "^1.8.0",
|
||||
"tslib": "^1.10.0",
|
||||
"tsutils": "^2.29.0"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/core": "^1.2.1",
|
||||
"@actions/core": "^1.2.2",
|
||||
"@actions/exec": "^1.0.3",
|
||||
"@actions/io": "^1.0.2",
|
||||
"@actions/tool-cache": "^1.3.0",
|
||||
"@actions/tool-cache": "^1.3.1",
|
||||
"azure-pipelines-task-lib": "^2.9.3",
|
||||
"azure-pipelines-tool-lib": "^0.12.0",
|
||||
"inversify": "^5.0.1",
|
||||
@@ -35,7 +35,7 @@
|
||||
"uuid": "^3.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^13.1.8",
|
||||
"@types/node": "^13.5.0",
|
||||
"@types/q": "^1.5.2",
|
||||
"@types/semver-compare": "^1.0.1",
|
||||
"@types/uuid": "^3.4.6",
|
||||
@@ -44,7 +44,7 @@
|
||||
"replace-in-file-webpack-plugin": "^1.0.6",
|
||||
"tfx-cli": "^0.7.11",
|
||||
"ts-loader": "^6.2.1",
|
||||
"tslint": "^5.20.1",
|
||||
"tslint": "^6.0.0",
|
||||
"typescript": "^3.7.5",
|
||||
"webpack": "^4.41.5",
|
||||
"webpack-cli": "^3.3.10"
|
||||
|
||||
@@ -4,11 +4,20 @@ import * as os from "os";
|
||||
import * as path from "path";
|
||||
import * as semver from "semver";
|
||||
import * as http from "typed-rest-client/HttpClient";
|
||||
|
||||
import cmp from "semver-compare";
|
||||
|
||||
import { inject, injectable } from "inversify";
|
||||
|
||||
import { IBuildAgent, IDotnetTool, IExecResult, IGitVersionOptions, IGitVersionTool, IVersionManager } from "./interfaces";
|
||||
import { IBuildAgent,
|
||||
IDotnetTool,
|
||||
IExecResult,
|
||||
IGitReleaseManagerTool,
|
||||
IGitVersionOptions,
|
||||
IGitVersionTool,
|
||||
IVersionManager,
|
||||
} from "./interfaces";
|
||||
|
||||
import { TYPES } from "./types";
|
||||
|
||||
@injectable()
|
||||
@@ -221,6 +230,25 @@ class GitVersionTool implements IGitVersionTool {
|
||||
}
|
||||
}
|
||||
|
||||
@injectable()
|
||||
class GitReleaseManagerTool implements IGitReleaseManagerTool {
|
||||
|
||||
private buildAgent: IBuildAgent;
|
||||
private dotnetTool: IDotnetTool;
|
||||
|
||||
constructor(
|
||||
@inject(TYPES.IBuildAgent) buildAgent: IBuildAgent,
|
||||
@inject(TYPES.IDotnetTool) dotnetTool: IDotnetTool,
|
||||
) {
|
||||
this.buildAgent = buildAgent;
|
||||
this.dotnetTool = dotnetTool;
|
||||
}
|
||||
|
||||
public async install(versionSpec: string, includePrerelease: boolean): Promise<void> {
|
||||
await this.dotnetTool.toolInstall("GitReleaseManager.Tool", versionSpec, false, includePrerelease);
|
||||
}
|
||||
}
|
||||
|
||||
@injectable()
|
||||
class VersionManager implements IVersionManager {
|
||||
|
||||
@@ -271,6 +299,7 @@ class VersionManager implements IVersionManager {
|
||||
|
||||
export {
|
||||
DotnetTool,
|
||||
GitReleaseManagerTool,
|
||||
GitVersionTool,
|
||||
VersionManager,
|
||||
};
|
||||
|
||||
22
src/core/gitreleasemanager.ts
Normal file
22
src/core/gitreleasemanager.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import { IBuildAgent, IGitReleaseManagerTool } from "./interfaces";
|
||||
import { ioc } from "./ioc";
|
||||
import { SetupOptions, TYPES } from "./types";
|
||||
|
||||
const gitReleaseManagerTool = ioc.get<IGitReleaseManagerTool>(TYPES.IGitReleaseManagerTool);
|
||||
const buildAgent = ioc.get<IBuildAgent>(TYPES.IBuildAgent);
|
||||
|
||||
export async function setup() {
|
||||
try {
|
||||
|
||||
buildAgent.exportVariable("DOTNET_CLI_TELEMETRY_OPTOUT", "1");
|
||||
|
||||
const versionSpec = buildAgent.getInput(SetupOptions.versionSpec);
|
||||
const includePrerelease = buildAgent.getBooleanInput(SetupOptions.includePrerelease);
|
||||
|
||||
await gitReleaseManagerTool.install(versionSpec, includePrerelease);
|
||||
|
||||
buildAgent.setSucceeded("GitVersionManager installed successfully", true);
|
||||
} catch (error) {
|
||||
buildAgent.setFailed(error.message, true);
|
||||
}
|
||||
}
|
||||
@@ -41,6 +41,10 @@ export interface IGitVersionTool {
|
||||
install(versionSpec: string, includePrerelease: boolean): Promise<void>;
|
||||
run(options: IGitVersionOptions): Promise<IExecResult>;
|
||||
}
|
||||
|
||||
export interface IGitReleaseManagerTool {
|
||||
install(versionSpec: string, includePrerelease: boolean): Promise<void>;
|
||||
}
|
||||
export interface IExecResult {
|
||||
stdout: string;
|
||||
stderr: string;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Container } from "inversify";
|
||||
|
||||
import { BuildAgent } from "../agent/mock/build-agent";
|
||||
import { DotnetTool, GitVersionTool, VersionManager } from "./common";
|
||||
import { IBuildAgent, IDotnetTool, IGitVersionTool, IVersionManager } from "./interfaces";
|
||||
import { DotnetTool, GitReleaseManagerTool, GitVersionTool, VersionManager } from "./common";
|
||||
import { IBuildAgent, IDotnetTool, IGitReleaseManagerTool, IGitVersionTool, IVersionManager } from "./interfaces";
|
||||
import { TYPES } from "./types";
|
||||
|
||||
const ioc = new Container();
|
||||
@@ -11,5 +11,6 @@ ioc.bind<IVersionManager>(TYPES.IVersionManager).to(VersionManager);
|
||||
ioc.bind<IBuildAgent>(TYPES.IBuildAgent).to(BuildAgent);
|
||||
ioc.bind<IDotnetTool>(TYPES.IDotnetTool).to(DotnetTool);
|
||||
ioc.bind<IGitVersionTool>(TYPES.IGitVersionTool).to(GitVersionTool);
|
||||
ioc.bind<IGitReleaseManagerTool>(TYPES.IGitReleaseManagerTool).to(GitReleaseManagerTool);
|
||||
|
||||
export { ioc };
|
||||
|
||||
@@ -2,6 +2,7 @@ const TYPES = {
|
||||
IBuildAgent: Symbol.for("BuildAgent"),
|
||||
IDotnetTool: Symbol.for("DotnetTool"),
|
||||
IGitVersionTool: Symbol.for("GitVersionTool"),
|
||||
IGitReleaseManagerTool: Symbol.for("GitReleaseManagerTool"),
|
||||
IVersionManager: Symbol.for("VersionManager"),
|
||||
};
|
||||
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
import "reflect-metadata";
|
||||
import { run } from "./core/gitversion";
|
||||
|
||||
run();
|
||||
@@ -1,4 +0,0 @@
|
||||
import "reflect-metadata";
|
||||
import { setup } from "./core/gitversion";
|
||||
|
||||
setup();
|
||||
4
src/tasks/gitreleasemanager/setup.ts
Normal file
4
src/tasks/gitreleasemanager/setup.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import "reflect-metadata";
|
||||
import { setup } from "../../core/gitreleasemanager";
|
||||
|
||||
setup();
|
||||
4
src/tasks/gitversion/execute.ts
Normal file
4
src/tasks/gitversion/execute.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import "reflect-metadata";
|
||||
import { run } from "../../core/gitversion";
|
||||
|
||||
run();
|
||||
4
src/tasks/gitversion/setup.ts
Normal file
4
src/tasks/gitversion/setup.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import "reflect-metadata";
|
||||
import { setup } from "../../core/gitversion";
|
||||
|
||||
setup();
|
||||
@@ -8,8 +8,9 @@ module.exports = (env) => {
|
||||
|
||||
return {
|
||||
entry: {
|
||||
'setup-gitversion': path.resolve(__dirname, 'src/setup-gitversion.ts'),
|
||||
'execute-gitversion': path.resolve(__dirname, 'src/execute-gitversion.ts'),
|
||||
'gitversion/setup': path.resolve(__dirname, 'src/tasks/gitversion/setup.ts'),
|
||||
'gitversion/execute': path.resolve(__dirname, 'src/tasks/gitversion/execute.ts'),
|
||||
'gitreleasemanager/setup': path.resolve(__dirname, 'src/tasks/gitreleasemanager/setup.ts'),
|
||||
},
|
||||
target: 'node',
|
||||
mode: mode,
|
||||
|
||||
Reference in New Issue
Block a user