mirror of
https://github.com/actions/setup-dotnet.git
synced 2024-11-22 19:41:08 +07:00
Merge branch 'main' of https://github.com/actions/setup-dotnet into feature/include-prerelease
This commit is contained in:
commit
87189a16c7
1
.github/CODEOWNERS
vendored
Normal file
1
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1 @@
|
||||
* @actions/virtual-environments-owners
|
@ -13,7 +13,7 @@ This action sets up a [dotnet core cli](https://github.com/dotnet/cli) environme
|
||||
Please Note: GitHub hosted runners have some versions of the .NET SDK
|
||||
preinstalled. Installed versions are subject to change. Please refer to the
|
||||
documentation
|
||||
[software installed on github hosted runners](https://help.github.com/en/actions/reference/software-installed-on-github-hosted-runners)
|
||||
[software installed on github hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-software)
|
||||
for .NET SDK versions that are currently available.
|
||||
|
||||
# Usage
|
||||
@ -37,7 +37,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
dotnet: [ '2.2.103', '3.0', '3.1.x' ]
|
||||
dotnet: [ '2.1.x', '3.1.x', '5.0.x' ]
|
||||
name: Dotnet ${{ matrix.dotnet }} sample
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@ -59,7 +59,7 @@ jobs:
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '2.2.103'
|
||||
dotnet-version: '2.1.x'
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
@ -113,7 +113,7 @@ build:
|
||||
- uses: actions/checkout@main
|
||||
- uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '3.1.100' # SDK Version to use.
|
||||
dotnet-version: '3.1.x' # SDK Version to use.
|
||||
```
|
||||
|
||||
# License
|
||||
|
@ -13,6 +13,8 @@ describe('version tests', () => {
|
||||
);
|
||||
|
||||
each([
|
||||
['3.x', '3.x'],
|
||||
['3.*', '3.*'],
|
||||
['3.1.x', '3.1'],
|
||||
['1.1.*', '1.1'],
|
||||
['2.0', '2.0']
|
||||
@ -42,7 +44,6 @@ describe('version tests', () => {
|
||||
'.2.3',
|
||||
'.2.x',
|
||||
'1',
|
||||
'2.x',
|
||||
'*.*.1',
|
||||
'*.1',
|
||||
'*.',
|
||||
|
95
dist/index.js
vendored
95
dist/index.js
vendored
@ -4840,11 +4840,23 @@ const github = __importStar(__webpack_require__(469));
|
||||
const xmlbuilder = __importStar(__webpack_require__(312));
|
||||
const xmlParser = __importStar(__webpack_require__(989));
|
||||
function configAuthentication(feedUrl, existingFileLocation = '', processRoot = process.cwd()) {
|
||||
const existingNuGetConfig = path.resolve(processRoot, existingFileLocation == '' ? 'nuget.config' : existingFileLocation);
|
||||
const existingNuGetConfig = path.resolve(processRoot, existingFileLocation === ''
|
||||
? getExistingNugetConfig(processRoot)
|
||||
: existingFileLocation);
|
||||
const tempNuGetConfig = path.resolve(processRoot, '../', 'nuget.config');
|
||||
writeFeedToFile(feedUrl, existingNuGetConfig, tempNuGetConfig);
|
||||
}
|
||||
exports.configAuthentication = configAuthentication;
|
||||
function getExistingNugetConfig(processRoot) {
|
||||
const defaultConfigName = 'nuget.config';
|
||||
const configFileNames = fs
|
||||
.readdirSync(processRoot)
|
||||
.filter(filename => filename.toLowerCase() === defaultConfigName);
|
||||
if (configFileNames.length) {
|
||||
return configFileNames[0];
|
||||
}
|
||||
return defaultConfigName;
|
||||
}
|
||||
function writeFeedToFile(feedUrl, existingFileLocation, tempFileLocation) {
|
||||
console.log(`dotnet-auth: Finding any source references in ${existingFileLocation}, writing a new temporary configuration file with credentials to ${tempFileLocation}`);
|
||||
let xml;
|
||||
@ -5036,7 +5048,7 @@ module.exports = {"name":"@octokit/rest","version":"16.28.9","publishConfig":{"a
|
||||
module.exports = XMLDummy = class XMLDummy extends XMLNode {
|
||||
// Initializes a new instance of `XMLDummy`
|
||||
|
||||
// `XMLDummy` is a special node representing a node with
|
||||
// `XMLDummy` is a special node representing a node with
|
||||
// a null value. Dummy nodes are created while recursively
|
||||
// building the XML tree. Simply skipping null values doesn't
|
||||
// work because that would break the recursive chain.
|
||||
@ -9139,7 +9151,7 @@ function escapeProperty(s) {
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
// DOM level 1
|
||||
Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {
|
||||
get: function() {
|
||||
@ -10944,7 +10956,7 @@ exports.FetchError = FetchError;
|
||||
document(doc, options) {
|
||||
var child, i, j, k, len1, len2, ref, ref1, results;
|
||||
ref = doc.children;
|
||||
// set a flag so that we don't insert a newline after the last root level node
|
||||
// set a flag so that we don't insert a newline after the last root level node
|
||||
for (i = j = 0, len1 = ref.length; j < len1; i = ++j) {
|
||||
child = ref[i];
|
||||
child.isLastRootNode = i === doc.children.length - 1;
|
||||
@ -12055,14 +12067,14 @@ function authenticationBeforeRequest (state, options) {
|
||||
} else {
|
||||
this.writerOptions.state = WriterState.OpenTag;
|
||||
chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<!DOCTYPE ' + node.rootNodeName;
|
||||
|
||||
|
||||
// external identifier
|
||||
if (node.pubID && node.sysID) {
|
||||
chunk += ' PUBLIC "' + node.pubID + '" "' + node.sysID + '"';
|
||||
} else if (node.sysID) {
|
||||
chunk += ' SYSTEM "' + node.sysID + '"';
|
||||
}
|
||||
|
||||
|
||||
// internal subset
|
||||
if (node.children) {
|
||||
chunk += ' [';
|
||||
@ -12467,9 +12479,9 @@ function addHook (state, kind, name, hook) {
|
||||
|
||||
// `feature` package name of the feature to test. In Level 1, the
|
||||
// legal values are "HTML" and "XML" (case-insensitive).
|
||||
// `version` version number of the package name to test.
|
||||
// In Level 1, this is the string "1.0". If the version is
|
||||
// not specified, supporting any version of the feature will
|
||||
// `version` version number of the package name to test.
|
||||
// In Level 1, this is the string "1.0". If the version is
|
||||
// not specified, supporting any version of the feature will
|
||||
// cause the method to return true.
|
||||
hasFeature(feature, version) {
|
||||
return true;
|
||||
@ -12500,7 +12512,7 @@ function addHook (state, kind, name, hook) {
|
||||
throw new Error("This DOM method is not implemented.");
|
||||
}
|
||||
|
||||
// Returns a specialized object which implements the specialized APIs
|
||||
// Returns a specialized object which implements the specialized APIs
|
||||
// of the specified feature and version.
|
||||
|
||||
// `feature` name of the feature requested.
|
||||
@ -14537,7 +14549,7 @@ module.exports = require("net");
|
||||
this.value = '';
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Creates and returns a deep clone of `this`
|
||||
clone() {
|
||||
return Object.create(this);
|
||||
@ -15507,7 +15519,7 @@ exports.convertToJson = convertToJson;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Sets the parent node of this node and its children recursively
|
||||
|
||||
// `parent` the parent node
|
||||
@ -15579,7 +15591,7 @@ exports.convertToJson = convertToJson;
|
||||
// skip null and undefined nodes
|
||||
} else if (!this.options.keepNullNodes && (val == null)) {
|
||||
lastChild = this.dummy();
|
||||
|
||||
|
||||
// expand list by creating child nodes
|
||||
} else if (!this.options.separateArrayItems && Array.isArray(val)) {
|
||||
for (k = 0, len1 = val.length; k < len1; k++) {
|
||||
@ -15588,7 +15600,7 @@ exports.convertToJson = convertToJson;
|
||||
childNode[key] = item;
|
||||
lastChild = this.element(childNode);
|
||||
}
|
||||
|
||||
|
||||
// expand child nodes under parent
|
||||
} else if (isObject(val)) {
|
||||
// if the key is #text expand child nodes under this node to support mixed content
|
||||
@ -15599,7 +15611,7 @@ exports.convertToJson = convertToJson;
|
||||
lastChild.element(val);
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
// text node
|
||||
lastChild = this.element(key, val);
|
||||
}
|
||||
@ -15651,10 +15663,10 @@ exports.convertToJson = convertToJson;
|
||||
// temporarily remove children starting *with* refChild
|
||||
i = children.indexOf(refChild);
|
||||
removed = children.splice(i);
|
||||
|
||||
|
||||
// add the new child
|
||||
children.push(newChild);
|
||||
|
||||
|
||||
// add back removed children after new child
|
||||
Array.prototype.push.apply(children, removed);
|
||||
} else {
|
||||
@ -15665,14 +15677,14 @@ exports.convertToJson = convertToJson;
|
||||
if (this.isRoot) {
|
||||
throw new Error("Cannot insert elements at root level. " + this.debugInfo(name));
|
||||
}
|
||||
|
||||
|
||||
// temporarily remove children starting *with* this
|
||||
i = this.parent.children.indexOf(this);
|
||||
removed = this.parent.children.splice(i);
|
||||
|
||||
|
||||
// add the new child
|
||||
child = this.parent.element(name, attributes, text);
|
||||
|
||||
|
||||
// add back removed children after new child
|
||||
Array.prototype.push.apply(this.parent.children, removed);
|
||||
return child;
|
||||
@ -15689,14 +15701,14 @@ exports.convertToJson = convertToJson;
|
||||
if (this.isRoot) {
|
||||
throw new Error("Cannot insert elements at root level. " + this.debugInfo(name));
|
||||
}
|
||||
|
||||
|
||||
// temporarily remove children starting *after* this
|
||||
i = this.parent.children.indexOf(this);
|
||||
removed = this.parent.children.splice(i + 1);
|
||||
|
||||
|
||||
// add the new child
|
||||
child = this.parent.element(name, attributes, text);
|
||||
|
||||
|
||||
// add back removed children after new child
|
||||
Array.prototype.push.apply(this.parent.children, removed);
|
||||
return child;
|
||||
@ -16031,7 +16043,7 @@ exports.convertToJson = convertToJson;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Returns debug string for this node
|
||||
debugInfo(name) {
|
||||
var ref1, ref2;
|
||||
@ -16252,7 +16264,7 @@ exports.convertToJson = convertToJson;
|
||||
return other === this || this.isDescendant(other);
|
||||
}
|
||||
|
||||
// An object A is called a descendant of an object B, if either A is
|
||||
// An object A is called a descendant of an object B, if either A is
|
||||
// a child of B or A is a child of an object C that is a descendant of B.
|
||||
isDescendant(node) {
|
||||
var child, isDescendantChild, j, len, ref1;
|
||||
@ -16276,7 +16288,7 @@ exports.convertToJson = convertToJson;
|
||||
return node.isDescendant(this);
|
||||
}
|
||||
|
||||
// An object A is preceding an object B if A and B are in the
|
||||
// An object A is preceding an object B if A and B are in the
|
||||
// same tree and A comes before B in tree order.
|
||||
isPreceding(node) {
|
||||
var nodePos, thisPos;
|
||||
@ -16289,7 +16301,7 @@ exports.convertToJson = convertToJson;
|
||||
}
|
||||
}
|
||||
|
||||
// An object A is folllowing an object B if A and B are in the
|
||||
// An object A is folllowing an object B if A and B are in the
|
||||
// same tree and A comes after B in tree order.
|
||||
isFollowing(node) {
|
||||
var nodePos, thisPos;
|
||||
@ -16321,7 +16333,7 @@ exports.convertToJson = convertToJson;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Depth-first preorder traversal through the XML tree
|
||||
foreachTreeNode(node, func) {
|
||||
var child, j, len, ref1, res;
|
||||
@ -16870,14 +16882,17 @@ class DotNetVersionInfo {
|
||||
this.isExactVersionSet = true;
|
||||
return;
|
||||
}
|
||||
let parts = version.split('.');
|
||||
//Note: No support for previews when using generic
|
||||
const parts = version.split('.');
|
||||
if (parts.length < 2 || parts.length > 3)
|
||||
this.throwInvalidVersionFormat();
|
||||
if (parts.length == 3 && parts[2] !== 'x' && parts[2] !== '*') {
|
||||
this.throwInvalidVersionFormat();
|
||||
}
|
||||
let major = this.getVersionNumberOrThrow(parts[0]);
|
||||
let minor = this.getVersionNumberOrThrow(parts[1]);
|
||||
const major = this.getVersionNumberOrThrow(parts[0]);
|
||||
const minor = ['x', '*'].includes(parts[1])
|
||||
? parts[1]
|
||||
: this.getVersionNumberOrThrow(parts[1]);
|
||||
this.fullversion = major + '.' + minor;
|
||||
}
|
||||
getVersionNumberOrThrow(input) {
|
||||
@ -16895,7 +16910,7 @@ class DotNetVersionInfo {
|
||||
}
|
||||
}
|
||||
throwInvalidVersionFormat() {
|
||||
throw 'Invalid version format! Supported: 1.2.3, 1.2, 1.2.x, 1.2.*';
|
||||
throw new Error('Invalid version format! Supported: 1.2.3, 1.2, 1.2.x, 1.2.*');
|
||||
}
|
||||
/**
|
||||
* If true exacatly one version should be resolved
|
||||
@ -16999,7 +17014,7 @@ class DotnetCoreInstaller {
|
||||
}
|
||||
console.log(process.env['PATH']);
|
||||
if (resultCode != 0) {
|
||||
throw `Failed to install dotnet ${resultCode}. ${output}`;
|
||||
throw new Error(`Failed to install dotnet ${resultCode}. ${output}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -17035,7 +17050,7 @@ class DotnetCoreInstaller {
|
||||
includePrerelease: this.includePrerelease
|
||||
}));
|
||||
if (releasesInfo.length == 0) {
|
||||
throw `Could not find dotnet core version. Please ensure that specified version ${versionInfo.inputVersion} is valid.`;
|
||||
throw new Error(`Could not find dotnet core version. Please ensure that specified version ${versionInfo.inputVersion} is valid.`);
|
||||
}
|
||||
let release = releasesInfo[0];
|
||||
return release['sdk']['version'];
|
||||
@ -17056,7 +17071,7 @@ class DotnetCoreInstaller {
|
||||
return versionParts[0] == sdkParts[0];
|
||||
});
|
||||
if (releasesInfo.length === 0) {
|
||||
throw `Could not find info for version ${versionParts.join('.')} at ${DotNetCoreIndexUrl}`;
|
||||
throw new Error(`Could not find info for version ${versionParts.join('.')} at ${DotNetCoreIndexUrl}`);
|
||||
}
|
||||
return releasesInfo[0]['releases.json'];
|
||||
});
|
||||
@ -20455,7 +20470,7 @@ module.exports = set;
|
||||
return this.options.writer.attribute(this, this.options.writer.filterOptions(options));
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Returns debug string for this node
|
||||
debugInfo(name) {
|
||||
name = name || this.name;
|
||||
@ -22003,7 +22018,7 @@ const validator = __webpack_require__(971);
|
||||
exports.parse = function(xmlData, options, validationOption) {
|
||||
if( validationOption){
|
||||
if(validationOption === true) validationOption = {}
|
||||
|
||||
|
||||
const result = validator.validate(xmlData, validationOption);
|
||||
if (result !== true) {
|
||||
throw Error( result.err.msg)
|
||||
@ -22047,11 +22062,11 @@ function print(xmlNode, indentation){
|
||||
//console.log(indentation + " \""+index+"\" : [")
|
||||
print(item, indentation2);
|
||||
})
|
||||
console.log(indentation + "],")
|
||||
console.log(indentation + "],")
|
||||
}else{
|
||||
console.log(indentation + " \""+key+"\" : {")
|
||||
print(node, indentation2);
|
||||
console.log(indentation + "},")
|
||||
console.log(indentation + "},")
|
||||
}
|
||||
});
|
||||
console.log(indentation + "},")
|
||||
@ -22062,4 +22077,4 @@ function print(xmlNode, indentation){
|
||||
|
||||
/***/ })
|
||||
|
||||
/******/ });
|
||||
/******/ });
|
||||
|
6
package-lock.json
generated
6
package-lock.json
generated
@ -5342,9 +5342,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
|
||||
"integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
|
||||
"dev": true
|
||||
},
|
||||
"yaml": {
|
||||
|
@ -13,7 +13,9 @@ export function configAuthentication(
|
||||
) {
|
||||
const existingNuGetConfig: string = path.resolve(
|
||||
processRoot,
|
||||
existingFileLocation == '' ? 'nuget.config' : existingFileLocation
|
||||
existingFileLocation === ''
|
||||
? getExistingNugetConfig(processRoot)
|
||||
: existingFileLocation
|
||||
);
|
||||
|
||||
const tempNuGetConfig: string = path.resolve(
|
||||
@ -25,6 +27,17 @@ export function configAuthentication(
|
||||
writeFeedToFile(feedUrl, existingNuGetConfig, tempNuGetConfig);
|
||||
}
|
||||
|
||||
function getExistingNugetConfig(processRoot: string) {
|
||||
const defaultConfigName = 'nuget.config';
|
||||
const configFileNames = fs
|
||||
.readdirSync(processRoot)
|
||||
.filter(filename => filename.toLowerCase() === defaultConfigName);
|
||||
if (configFileNames.length) {
|
||||
return configFileNames[0];
|
||||
}
|
||||
return defaultConfigName;
|
||||
}
|
||||
|
||||
function writeFeedToFile(
|
||||
feedUrl: string,
|
||||
existingFileLocation: string,
|
||||
|
@ -29,7 +29,7 @@ export class DotNetVersionInfo {
|
||||
return;
|
||||
}
|
||||
|
||||
let parts: string[] = version.split('.');
|
||||
const parts: string[] = version.split('.');
|
||||
|
||||
if (parts.length < 2 || parts.length > 3) this.throwInvalidVersionFormat();
|
||||
|
||||
@ -37,8 +37,10 @@ export class DotNetVersionInfo {
|
||||
this.throwInvalidVersionFormat();
|
||||
}
|
||||
|
||||
let major = this.getVersionNumberOrThrow(parts[0]);
|
||||
let minor = this.getVersionNumberOrThrow(parts[1]);
|
||||
const major = this.getVersionNumberOrThrow(parts[0]);
|
||||
const minor = ['x', '*'].includes(parts[1])
|
||||
? parts[1]
|
||||
: this.getVersionNumberOrThrow(parts[1]);
|
||||
|
||||
this.fullversion = major + '.' + minor;
|
||||
}
|
||||
@ -59,7 +61,9 @@ export class DotNetVersionInfo {
|
||||
}
|
||||
|
||||
private throwInvalidVersionFormat() {
|
||||
throw 'Invalid version format! Supported: 1.2.3, 1.2, 1.2.x, 1.2.*';
|
||||
throw new Error(
|
||||
'Invalid version format! Supported: 1.2.3, 1.2, 1.2.x, 1.2.*'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -187,7 +191,7 @@ export class DotnetCoreInstaller {
|
||||
console.log(process.env['PATH']);
|
||||
|
||||
if (resultCode != 0) {
|
||||
throw `Failed to install dotnet ${resultCode}. ${output}`;
|
||||
throw new Error(`Failed to install dotnet ${resultCode}. ${output}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -242,7 +246,9 @@ export class DotnetCoreInstaller {
|
||||
);
|
||||
|
||||
if (releasesInfo.length == 0) {
|
||||
throw `Could not find dotnet core version. Please ensure that specified version ${versionInfo.inputVersion} is valid.`;
|
||||
throw new Error(
|
||||
`Could not find dotnet core version. Please ensure that specified version ${versionInfo.inputVersion} is valid.`
|
||||
);
|
||||
}
|
||||
|
||||
let release = releasesInfo[0];
|
||||
@ -270,9 +276,11 @@ export class DotnetCoreInstaller {
|
||||
});
|
||||
|
||||
if (releasesInfo.length === 0) {
|
||||
throw `Could not find info for version ${versionParts.join(
|
||||
'.'
|
||||
)} at ${DotNetCoreIndexUrl}`;
|
||||
throw new Error(
|
||||
`Could not find info for version ${versionParts.join(
|
||||
'.'
|
||||
)} at ${DotNetCoreIndexUrl}`
|
||||
);
|
||||
}
|
||||
|
||||
return releasesInfo[0]['releases.json'];
|
||||
|
Loading…
Reference in New Issue
Block a user