Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e6a3f8ae3 | ||
|
|
d7ae11c705 | ||
|
|
3ae0279436 | ||
|
|
8800732649 | ||
|
|
c6c07deac4 | ||
|
|
a7350ecf47 | ||
|
|
d2bee257f8 | ||
|
|
ad3a0113c7 | ||
|
|
c771b49943 | ||
|
|
7853e9b773 | ||
|
|
820359dc9c | ||
|
|
395f619b85 | ||
|
|
8d2b846ea2 | ||
|
|
9f9bd07a4a | ||
|
|
daf0e46935 | ||
|
|
f6f8f060cb | ||
|
|
7c0b157de0 | ||
|
|
75a04ce590 | ||
|
|
14bf4fc937 | ||
|
|
39e553f3ab | ||
|
|
a93413e612 | ||
|
|
fe0c388987 | ||
|
|
b9572bac7d | ||
|
|
934155ad56 | ||
|
|
387e5be4eb | ||
|
|
3ecd265726 | ||
|
|
b29a488a78 | ||
|
|
bb0f497c25 | ||
|
|
0d9fd18446 | ||
|
|
90adfcc45b | ||
|
|
ca9aa394cd | ||
|
|
babcd03469 | ||
|
|
aeb6a91baf | ||
|
|
9bb28129b7 | ||
|
|
143ee32ae2 | ||
|
|
42d2d3d73d | ||
|
|
9b14f15d00 | ||
|
|
db1f0a823a | ||
|
|
0fe1c4039c | ||
|
|
de4298bbd4 | ||
|
|
9a2489397b | ||
|
|
77fbcb1c09 | ||
|
|
76fcb18f38 | ||
|
|
5a0e1d49bc | ||
|
|
0021355e7d | ||
|
|
937e9b2177 | ||
|
|
83e5dcd364 | ||
|
|
24823fcacc | ||
|
|
e676e76e14 | ||
|
|
0175867ce6 | ||
|
|
fb70745560 | ||
|
|
dba22b3ce1 | ||
|
|
6978f89b48 | ||
|
|
ead89ae8fa | ||
|
|
b113674165 | ||
|
|
edb966a4d0 | ||
|
|
e4c5b8701c | ||
|
|
02ed40f5a4 | ||
|
|
1f2a6044e0 | ||
|
|
d6829b095c | ||
|
|
2098d5ff46 | ||
|
|
eb55958566 | ||
|
|
1ede2bb936 | ||
|
|
7b5c0965c5 | ||
|
|
82419e0541 | ||
|
|
79b1cd8289 | ||
|
|
a0e53a6db3 | ||
|
|
000cc0527c | ||
|
|
40e376e044 | ||
|
|
71cc7a6b1e | ||
|
|
a4b969e257 | ||
|
|
e0a5101705 | ||
|
|
2a857dad47 | ||
|
|
eb1268360b | ||
|
|
c607a42703 | ||
|
|
10fe773ac5 | ||
|
|
f8ab6f8e15 | ||
|
|
cfc588c831 | ||
|
|
1e57da8f03 | ||
|
|
7d637fbd19 | ||
|
|
75a48b4e0e | ||
|
|
c457048835 | ||
|
|
0141d79fd6 | ||
|
|
5989966acb | ||
|
|
4d52388803 | ||
|
|
a6c5e5014c | ||
|
|
94aeb475dc | ||
|
|
383d74fc7c | ||
|
|
2d53f9f2d9 | ||
|
|
6ee18f4a0a | ||
|
|
feacb10bfa | ||
|
|
1d8e0b7455 |
3
.mergify.yml → .github/mergify.yml
vendored
3
.mergify.yml → .github/mergify.yml
vendored
@@ -8,13 +8,12 @@ pull_request_rules:
|
||||
- name: Automatic merge on dependabot PR after success CI
|
||||
conditions:
|
||||
- author~=^dependabot(|-preview)\[bot\]$
|
||||
- '#commits-behind=0' # Only merge up to date pull requests
|
||||
- check-success=build (windows-latest)
|
||||
- check-success=build (ubuntu-latest)
|
||||
- check-success=build (macos-latest)
|
||||
actions:
|
||||
merge:
|
||||
method: rebase
|
||||
strict: smart
|
||||
- name: Thank contributor
|
||||
conditions:
|
||||
- merged
|
||||
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
id: gitversion # step id used as reference for output values
|
||||
uses: ./gitversion/execute
|
||||
- run: |
|
||||
$date = Get-Date -format "yyMMddHHmm"
|
||||
$date = Get-Date -format "yyMMddHH"
|
||||
$version = "${{steps.gitversion.outputs.majorMinorPatch}}.$date"
|
||||
$major = "${{steps.gitversion.outputs.major}}"
|
||||
$minor = "${{steps.gitversion.outputs.minor}}"
|
||||
|
||||
784
dist/azure/gitreleasemanager/addasset/bundle.js
vendored
784
dist/azure/gitreleasemanager/addasset/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitreleasemanager/close/bundle.js
vendored
784
dist/azure/gitreleasemanager/close/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitreleasemanager/create/bundle.js
vendored
784
dist/azure/gitreleasemanager/create/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitreleasemanager/discard/bundle.js
vendored
784
dist/azure/gitreleasemanager/discard/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitreleasemanager/open/bundle.js
vendored
784
dist/azure/gitreleasemanager/open/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitreleasemanager/publish/bundle.js
vendored
784
dist/azure/gitreleasemanager/publish/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitreleasemanager/setup/bundle.js
vendored
784
dist/azure/gitreleasemanager/setup/bundle.js
vendored
File diff suppressed because one or more lines are too long
8
dist/azure/gitreleasemanager/setup/task.json
vendored
8
dist/azure/gitreleasemanager/setup/task.json
vendored
@@ -36,6 +36,14 @@
|
||||
"defaultValue": "false",
|
||||
"required": false,
|
||||
"helpMarkDown": "Include pre-release versions when matching a version"
|
||||
},
|
||||
{
|
||||
"name": "ignoreFailedSources",
|
||||
"type": "boolean",
|
||||
"label": "Treat package source failures as warnings",
|
||||
"defaultValue": "false",
|
||||
"required": false,
|
||||
"helpMarkDown": "Treat package source failures as warnings"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
784
dist/azure/gitversion/execute/bundle.js
vendored
784
dist/azure/gitversion/execute/bundle.js
vendored
File diff suppressed because one or more lines are too long
784
dist/azure/gitversion/setup/bundle.js
vendored
784
dist/azure/gitversion/setup/bundle.js
vendored
File diff suppressed because one or more lines are too long
8
dist/azure/gitversion/setup/task.json
vendored
8
dist/azure/gitversion/setup/task.json
vendored
@@ -36,6 +36,14 @@
|
||||
"defaultValue": "false",
|
||||
"required": false,
|
||||
"helpMarkDown": "Include pre-release versions when matching a version"
|
||||
},
|
||||
{
|
||||
"name": "ignoreFailedSources",
|
||||
"type": "boolean",
|
||||
"label": "Treat package source failures as warnings",
|
||||
"defaultValue": "false",
|
||||
"required": false,
|
||||
"helpMarkDown": "Treat package source failures as warnings"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
1060
dist/github/gitreleasemanager/addasset/bundle.js
vendored
1060
dist/github/gitreleasemanager/addasset/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitreleasemanager/close/bundle.js
vendored
1060
dist/github/gitreleasemanager/close/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitreleasemanager/create/bundle.js
vendored
1060
dist/github/gitreleasemanager/create/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitreleasemanager/discard/bundle.js
vendored
1060
dist/github/gitreleasemanager/discard/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitreleasemanager/open/bundle.js
vendored
1060
dist/github/gitreleasemanager/open/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitreleasemanager/publish/bundle.js
vendored
1060
dist/github/gitreleasemanager/publish/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitreleasemanager/setup/bundle.js
vendored
1060
dist/github/gitreleasemanager/setup/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitversion/execute/bundle.js
vendored
1060
dist/github/gitversion/execute/bundle.js
vendored
File diff suppressed because one or more lines are too long
1060
dist/github/gitversion/setup/bundle.js
vendored
1060
dist/github/gitversion/setup/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/addasset/bundle.js
vendored
758
dist/mock/gitreleasemanager/addasset/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/close/bundle.js
vendored
758
dist/mock/gitreleasemanager/close/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/create/bundle.js
vendored
758
dist/mock/gitreleasemanager/create/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/discard/bundle.js
vendored
758
dist/mock/gitreleasemanager/discard/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/open/bundle.js
vendored
758
dist/mock/gitreleasemanager/open/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/publish/bundle.js
vendored
758
dist/mock/gitreleasemanager/publish/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitreleasemanager/setup/bundle.js
vendored
758
dist/mock/gitreleasemanager/setup/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitversion/execute/bundle.js
vendored
758
dist/mock/gitversion/execute/bundle.js
vendored
File diff suppressed because one or more lines are too long
758
dist/mock/gitversion/setup/bundle.js
vendored
758
dist/mock/gitversion/setup/bundle.js
vendored
File diff suppressed because one or more lines are too long
@@ -17,6 +17,10 @@ includePrerelease:
|
||||
description: Include pre-release versions when matching a version.
|
||||
required: false
|
||||
default: false
|
||||
ignoreFailedSources:
|
||||
description: Treat package source failures as warnings.
|
||||
required: false
|
||||
default: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -17,6 +17,10 @@ includePrerelease:
|
||||
description: Include pre-release versions when matching a version.
|
||||
required: false
|
||||
default: false
|
||||
ignoreFailedSources:
|
||||
description: Treat package source failures as warnings.
|
||||
required: false
|
||||
default: false
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -16,3 +16,7 @@ inputs:
|
||||
description: Include pre-release versions when matching a version
|
||||
required: false
|
||||
default: 'false'
|
||||
ignoreFailedSources:
|
||||
description: Treat package source failures as warnings.
|
||||
required: false
|
||||
default: 'false'
|
||||
|
||||
@@ -16,3 +16,7 @@ inputs:
|
||||
description: Include pre-release versions when matching a version
|
||||
required: false
|
||||
default: 'false'
|
||||
ignoreFailedSources:
|
||||
description: Treat package source failures as warnings.
|
||||
required: false
|
||||
default: 'false'
|
||||
|
||||
1366
package-lock.json
generated
1366
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
26
package.json
26
package.json
@@ -30,28 +30,30 @@
|
||||
"@actions/exec": "^1.1.0",
|
||||
"@actions/io": "^1.1.0",
|
||||
"@actions/tool-cache": "^1.7.1",
|
||||
"azure-pipelines-task-lib": "^3.1.10",
|
||||
"azure-pipelines-tool-lib": "^1.0.2",
|
||||
"azure-pipelines-task-lib": "^3.2.0",
|
||||
"azure-pipelines-tool-lib": "^1.1.0",
|
||||
"inversify": "^6.0.1",
|
||||
"typed-rest-client": "^1.8.6",
|
||||
"uuid": "^8.3.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^16.11.7",
|
||||
"@types/node": "^17.0.21",
|
||||
"@types/q": "^1.5.5",
|
||||
"@types/semver-compare": "^1.0.1",
|
||||
"@types/uuid": "^8.3.1",
|
||||
"@types/uuid": "^8.3.4",
|
||||
"minimist": "^1.2.5",
|
||||
"prettier": "^2.4.1",
|
||||
"prettier": "^2.6.0",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
"replace-in-file-webpack-plugin": "^1.0.6",
|
||||
"terser-webpack-plugin": "^5.2.5",
|
||||
"tfx-cli": "^0.9.3",
|
||||
"shelljs": "^0.8.5",
|
||||
"terser-webpack-plugin": "^5.3.1",
|
||||
"tfx-cli": "^0.11.0",
|
||||
"trim-newlines": ">=4.0.2",
|
||||
"ts-loader": "^9.2.6",
|
||||
"typescript": "^4.4.4",
|
||||
"underscore": ">=1.12.1",
|
||||
"webpack": "^5.64.0",
|
||||
"webpack-cli": "^4.9.1"
|
||||
"ts-loader": "^9.2.8",
|
||||
"typescript": "^4.6.2",
|
||||
"underscore": ">=1.13.2",
|
||||
"validator": "^13.7.0",
|
||||
"webpack": "^5.70.0",
|
||||
"webpack-cli": "^4.9.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,16 +4,15 @@ import * as path from 'path'
|
||||
import * as http from 'typed-rest-client/HttpClient'
|
||||
|
||||
import { inject, injectable } from 'inversify'
|
||||
import { TYPES, IExecResult, IBuildAgent } from './models'
|
||||
import { TYPES, IExecResult, IBuildAgent, ISetupSettings } from './models'
|
||||
import { IVersionManager } from './versionManager'
|
||||
|
||||
export interface IDotnetTool {
|
||||
disableTelemetry(): void
|
||||
toolInstall(
|
||||
toolName: string,
|
||||
versionSpec: string,
|
||||
checkLatest: boolean,
|
||||
includePre: boolean
|
||||
setupSettings: ISetupSettings
|
||||
): Promise<string>
|
||||
}
|
||||
|
||||
@@ -51,16 +50,17 @@ export class DotnetTool implements IDotnetTool {
|
||||
|
||||
public async toolInstall(
|
||||
toolName: string,
|
||||
versionSpec: string,
|
||||
checkLatest: boolean,
|
||||
includePre: boolean
|
||||
setupSettings: ISetupSettings
|
||||
): Promise<string> {
|
||||
console.log('')
|
||||
console.log('--------------------------')
|
||||
console.log(`Installing ${toolName} version ` + versionSpec)
|
||||
console.log(
|
||||
`Installing ${toolName} version ` + setupSettings.versionSpec
|
||||
)
|
||||
console.log('--------------------------')
|
||||
|
||||
if (this.versionManager.isExplicitVersion(versionSpec)) {
|
||||
if (this.versionManager.isExplicitVersion(setupSettings.versionSpec)) {
|
||||
checkLatest = false // check latest doesn't make sense when explicit version
|
||||
}
|
||||
|
||||
@@ -69,16 +69,18 @@ export class DotnetTool implements IDotnetTool {
|
||||
//
|
||||
// Let's try and resolve the version spec locally first
|
||||
//
|
||||
toolPath = this.buildAgent.find(toolName, versionSpec)
|
||||
toolPath = this.buildAgent.find(toolName, setupSettings.versionSpec)
|
||||
}
|
||||
|
||||
if (!toolPath) {
|
||||
let version: string
|
||||
if (this.versionManager.isExplicitVersion(versionSpec)) {
|
||||
if (
|
||||
this.versionManager.isExplicitVersion(setupSettings.versionSpec)
|
||||
) {
|
||||
//
|
||||
// Explicit version was specified. No need to query for list of versions.
|
||||
//
|
||||
version = versionSpec
|
||||
version = setupSettings.versionSpec
|
||||
} else {
|
||||
//
|
||||
// Let's query and resolve the latest version for the versionSpec.
|
||||
@@ -88,12 +90,12 @@ export class DotnetTool implements IDotnetTool {
|
||||
//
|
||||
version = await this.queryLatestMatch(
|
||||
toolName,
|
||||
versionSpec,
|
||||
includePre
|
||||
setupSettings.versionSpec,
|
||||
setupSettings.includePrerelease
|
||||
)
|
||||
if (!version) {
|
||||
throw new Error(
|
||||
`Unable to find ${toolName} version '${versionSpec}'.`
|
||||
`Unable to find ${toolName} version '${setupSettings.versionSpec}'.`
|
||||
)
|
||||
}
|
||||
|
||||
@@ -106,7 +108,11 @@ export class DotnetTool implements IDotnetTool {
|
||||
//
|
||||
// Download, extract, cache
|
||||
//
|
||||
toolPath = await this.acquireTool(toolName, version)
|
||||
toolPath = await this.acquireTool(
|
||||
toolName,
|
||||
version,
|
||||
setupSettings.ignoreFailedSources
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,11 +176,16 @@ export class DotnetTool implements IDotnetTool {
|
||||
|
||||
private async acquireTool(
|
||||
toolName: string,
|
||||
version: string
|
||||
version: string,
|
||||
ignoreFailedSources: boolean
|
||||
): Promise<string> {
|
||||
const tempDirectory = await this.buildAgent.createTempDir()
|
||||
let args = ['tool', 'install', toolName, '--tool-path', tempDirectory]
|
||||
|
||||
if (ignoreFailedSources) {
|
||||
args.push('--ignore-failed-sources')
|
||||
}
|
||||
|
||||
if (version) {
|
||||
version = this.versionManager.cleanVersion(version)
|
||||
args = args.concat(['--version', version])
|
||||
|
||||
@@ -10,12 +10,14 @@ export const TYPES = {
|
||||
|
||||
export enum SetupFields {
|
||||
includePrerelease = 'includePrerelease',
|
||||
versionSpec = 'versionSpec'
|
||||
versionSpec = 'versionSpec',
|
||||
ignoreFailedSources = 'ignoreFailedSources'
|
||||
}
|
||||
|
||||
export interface ISetupSettings {
|
||||
[SetupFields.versionSpec]: string
|
||||
[SetupFields.includePrerelease]: boolean
|
||||
[SetupFields.ignoreFailedSources]: boolean
|
||||
}
|
||||
|
||||
export interface IExecResult {
|
||||
|
||||
@@ -6,10 +6,14 @@ export class Settings {
|
||||
const includePrerelease = buildAgent.getBooleanInput(
|
||||
SetupFields.includePrerelease
|
||||
)
|
||||
const ignoreFailedSources = buildAgent.getBooleanInput(
|
||||
SetupFields.ignoreFailedSources
|
||||
)
|
||||
|
||||
return {
|
||||
versionSpec,
|
||||
includePrerelease
|
||||
includePrerelease,
|
||||
ignoreFailedSources
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,10 +23,7 @@ export async function setup() {
|
||||
|
||||
const settings = CommonSettings.getSetupSettings(buildAgent)
|
||||
|
||||
await gitReleaseManagerTool.install(
|
||||
settings.versionSpec,
|
||||
settings.includePrerelease
|
||||
)
|
||||
await gitReleaseManagerTool.install(settings)
|
||||
|
||||
buildAgent.setSucceeded(
|
||||
'GitVersionManager installed successfully',
|
||||
|
||||
@@ -20,10 +20,7 @@ export async function setup() {
|
||||
|
||||
const settings = CommonSettings.getSetupSettings(buildAgent)
|
||||
|
||||
await gitVersionTool.install(
|
||||
settings.versionSpec,
|
||||
settings.includePrerelease
|
||||
)
|
||||
await gitVersionTool.install(settings)
|
||||
|
||||
buildAgent.setSucceeded('GitVersion installed successfully', true)
|
||||
} catch (error) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import path = require('path')
|
||||
|
||||
import { TYPES, IBuildAgent, IExecResult } from '../../core/models'
|
||||
import { TYPES, IBuildAgent, IExecResult, ISetupSettings } from '../../core/models'
|
||||
import { injectable, inject } from 'inversify'
|
||||
import { DotnetTool, IDotnetTool } from '../../core/dotnet-tool'
|
||||
import { IVersionManager } from '../../core/versionManager'
|
||||
@@ -16,7 +16,7 @@ import {
|
||||
} from './models'
|
||||
|
||||
export interface IGitReleaseManagerTool extends IDotnetTool {
|
||||
install(versionSpec: string, includePrerelease: boolean): Promise<void>
|
||||
install(setupSettings: ISetupSettings): Promise<void>
|
||||
create(settings: GitReleaseManagerCreateSettings): Promise<IExecResult>
|
||||
discard(settings: GitReleaseManagerDiscardSettings): Promise<IExecResult>
|
||||
close(settings: GitReleaseManagerCloseSettings): Promise<IExecResult>
|
||||
@@ -36,15 +36,11 @@ export class GitReleaseManagerTool
|
||||
super(buildAgent, versionManager)
|
||||
}
|
||||
|
||||
public async install(
|
||||
versionSpec: string,
|
||||
includePrerelease: boolean
|
||||
): Promise<void> {
|
||||
public async install(setupSettings: ISetupSettings): Promise<void> {
|
||||
await this.toolInstall(
|
||||
'GitReleaseManager.Tool',
|
||||
versionSpec,
|
||||
false,
|
||||
includePrerelease
|
||||
setupSettings
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
import path = require('path')
|
||||
|
||||
import { injectable, inject } from 'inversify'
|
||||
import { IExecResult, IBuildAgent, TYPES } from '../../core/models'
|
||||
import { IExecResult, IBuildAgent, TYPES, ISetupSettings } from '../../core/models'
|
||||
import { DotnetTool, IDotnetTool } from '../../core/dotnet-tool'
|
||||
import { GitVersionSettings, GitVersionOutput } from './models'
|
||||
import { IVersionManager } from '../../core/versionManager'
|
||||
|
||||
export interface IGitVersionTool extends IDotnetTool {
|
||||
install(versionSpec: string, includePrerelease: boolean): Promise<void>
|
||||
install(setupSettings: ISetupSettings): Promise<void>
|
||||
run(options: GitVersionSettings): Promise<IExecResult>
|
||||
writeGitVersionToAgent(gitversion: GitVersionOutput): void
|
||||
}
|
||||
@@ -21,15 +21,11 @@ export class GitVersionTool extends DotnetTool implements IGitVersionTool {
|
||||
super(buildAgent, versionManager)
|
||||
}
|
||||
|
||||
public async install(
|
||||
versionSpec: string,
|
||||
includePrerelease: boolean
|
||||
): Promise<void> {
|
||||
public async install(setupSettings: ISetupSettings): Promise<void> {
|
||||
await this.toolInstall(
|
||||
'GitVersion.Tool',
|
||||
versionSpec,
|
||||
false,
|
||||
includePrerelease
|
||||
setupSettings
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user