mirror of
https://github.com/actions/setup-dotnet.git
synced 2024-11-22 19:41:08 +07:00
Fix review points
This commit is contained in:
parent
7358a44590
commit
559e47b01b
24
.github/workflows/e2e-tests.yml
vendored
24
.github/workflows/e2e-tests.yml
vendored
@ -165,30 +165,6 @@ jobs:
|
|||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: __tests__/verify-dotnet.ps1 3.1 2.2
|
run: __tests__/verify-dotnet.ps1 3.1 2.2
|
||||||
|
|
||||||
test-setup-with-ABCxx-syntax:
|
|
||||||
runs-on: ${{ matrix.operating-system }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
operating-system: [ubuntu-latest, windows-latest, macOS-latest]
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Clear toolcache
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/clear-toolcache.ps1 ${{ runner.os }}
|
|
||||||
- name: Setup dotnet '5.0.2xx'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '5.0.2xx'
|
|
||||||
- name: Setup dotnet '7.0.1xx'
|
|
||||||
uses: ./
|
|
||||||
with:
|
|
||||||
dotnet-version: '7.0.1xx'
|
|
||||||
- name: Verify dotnet
|
|
||||||
shell: pwsh
|
|
||||||
run: __tests__/verify-dotnet.ps1 5.0.2 7.0.1
|
|
||||||
|
|
||||||
test-setup-global-json-specified-and-version:
|
test-setup-global-json-specified-and-version:
|
||||||
runs-on: ${{ matrix.operating-system }}
|
runs-on: ${{ matrix.operating-system }}
|
||||||
strategy:
|
strategy:
|
||||||
|
16
dist/index.js
vendored
16
dist/index.js
vendored
@ -243,6 +243,11 @@ const path_1 = __importDefault(__nccwpck_require__(1017));
|
|||||||
const os_1 = __importDefault(__nccwpck_require__(2037));
|
const os_1 = __importDefault(__nccwpck_require__(2037));
|
||||||
const semver_1 = __importDefault(__nccwpck_require__(5911));
|
const semver_1 = __importDefault(__nccwpck_require__(5911));
|
||||||
const utils_1 = __nccwpck_require__(918);
|
const utils_1 = __nccwpck_require__(918);
|
||||||
|
var DotnetInstallerLimits;
|
||||||
|
(function (DotnetInstallerLimits) {
|
||||||
|
DotnetInstallerLimits[DotnetInstallerLimits["QualityInputMinimalMajorTag"] = 6] = "QualityInputMinimalMajorTag";
|
||||||
|
DotnetInstallerLimits[DotnetInstallerLimits["LatestPatchSyntaxMinimalMajorTag"] = 5] = "LatestPatchSyntaxMinimalMajorTag";
|
||||||
|
})(DotnetInstallerLimits || (DotnetInstallerLimits = {}));
|
||||||
class DotnetVersionResolver {
|
class DotnetVersionResolver {
|
||||||
constructor(version) {
|
constructor(version) {
|
||||||
this.inputVersion = version.trim();
|
this.inputVersion = version.trim();
|
||||||
@ -267,7 +272,9 @@ class DotnetVersionResolver {
|
|||||||
isLatestPatchSyntax() {
|
isLatestPatchSyntax() {
|
||||||
var _b, _c;
|
var _b, _c;
|
||||||
const majorTag = (_c = (_b = this.inputVersion.match(/^(?<majorTag>\d+)\.\d+\.\d{1}x{2}$/)) === null || _b === void 0 ? void 0 : _b.groups) === null || _c === void 0 ? void 0 : _c.majorTag;
|
const majorTag = (_c = (_b = this.inputVersion.match(/^(?<majorTag>\d+)\.\d+\.\d{1}x{2}$/)) === null || _b === void 0 ? void 0 : _b.groups) === null || _c === void 0 ? void 0 : _c.majorTag;
|
||||||
if (majorTag && parseInt(majorTag) < 5) {
|
if (majorTag &&
|
||||||
|
parseInt(majorTag) <
|
||||||
|
DotnetInstallerLimits.LatestPatchSyntaxMinimalMajorTag) {
|
||||||
throw new Error(`'dotnet-version' was supplied in invalid format: ${this.inputVersion}! The A.B.Cxx syntax is available since the .NET 5.0 release.`);
|
throw new Error(`'dotnet-version' was supplied in invalid format: ${this.inputVersion}! The A.B.Cxx syntax is available since the .NET 5.0 release.`);
|
||||||
}
|
}
|
||||||
return majorTag ? true : false;
|
return majorTag ? true : false;
|
||||||
@ -290,10 +297,13 @@ class DotnetVersionResolver {
|
|||||||
this.resolvedArgument.value = yield this.getLatestByMajorTag(major);
|
this.resolvedArgument.value = yield this.getLatestByMajorTag(major);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Resolve LTS version of .NET if "dotnet-version" is specified as *, x or X
|
// If "dotnet-version" is specified as *, x or X resolve latest version of .NET explicitly from LTS channel. The version argument will be set to "latest" by default.
|
||||||
this.resolvedArgument.value = 'LTS';
|
this.resolvedArgument.value = 'LTS';
|
||||||
}
|
}
|
||||||
this.resolvedArgument.qualityFlag = parseInt(major) >= 6 ? true : false;
|
this.resolvedArgument.qualityFlag =
|
||||||
|
parseInt(major) >= DotnetInstallerLimits.QualityInputMinimalMajorTag
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
createDotNetVersion() {
|
createDotNetVersion() {
|
||||||
|
@ -17,6 +17,11 @@ export interface DotnetVersion {
|
|||||||
qualityFlag: boolean;
|
qualityFlag: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum DotnetInstallerLimits {
|
||||||
|
QualityInputMinimalMajorTag = 6,
|
||||||
|
LatestPatchSyntaxMinimalMajorTag = 5
|
||||||
|
}
|
||||||
|
|
||||||
export class DotnetVersionResolver {
|
export class DotnetVersionResolver {
|
||||||
private inputVersion: string;
|
private inputVersion: string;
|
||||||
private resolvedArgument: DotnetVersion;
|
private resolvedArgument: DotnetVersion;
|
||||||
@ -47,7 +52,11 @@ export class DotnetVersionResolver {
|
|||||||
const majorTag = this.inputVersion.match(
|
const majorTag = this.inputVersion.match(
|
||||||
/^(?<majorTag>\d+)\.\d+\.\d{1}x{2}$/
|
/^(?<majorTag>\d+)\.\d+\.\d{1}x{2}$/
|
||||||
)?.groups?.majorTag;
|
)?.groups?.majorTag;
|
||||||
if (majorTag && parseInt(majorTag) < 5) {
|
if (
|
||||||
|
majorTag &&
|
||||||
|
parseInt(majorTag) <
|
||||||
|
DotnetInstallerLimits.LatestPatchSyntaxMinimalMajorTag
|
||||||
|
) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`'dotnet-version' was supplied in invalid format: ${this.inputVersion}! The A.B.Cxx syntax is available since the .NET 5.0 release.`
|
`'dotnet-version' was supplied in invalid format: ${this.inputVersion}! The A.B.Cxx syntax is available since the .NET 5.0 release.`
|
||||||
);
|
);
|
||||||
@ -70,10 +79,13 @@ export class DotnetVersionResolver {
|
|||||||
} else if (this.isNumericTag(major)) {
|
} else if (this.isNumericTag(major)) {
|
||||||
this.resolvedArgument.value = await this.getLatestByMajorTag(major);
|
this.resolvedArgument.value = await this.getLatestByMajorTag(major);
|
||||||
} else {
|
} else {
|
||||||
// Resolve LTS version of .NET if "dotnet-version" is specified as *, x or X
|
// If "dotnet-version" is specified as *, x or X resolve latest version of .NET explicitly from LTS channel. The version argument will be set to "latest" by default.
|
||||||
this.resolvedArgument.value = 'LTS';
|
this.resolvedArgument.value = 'LTS';
|
||||||
}
|
}
|
||||||
this.resolvedArgument.qualityFlag = parseInt(major) >= 6 ? true : false;
|
this.resolvedArgument.qualityFlag =
|
||||||
|
parseInt(major) >= DotnetInstallerLimits.QualityInputMinimalMajorTag
|
||||||
|
? true
|
||||||
|
: false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async createDotNetVersion(): Promise<DotnetVersion> {
|
public async createDotNetVersion(): Promise<DotnetVersion> {
|
||||||
|
Loading…
Reference in New Issue
Block a user