@@ -93164,6 +93164,13 @@ class DotnetInstallScript {
9316493164 this.scriptArguments.push(...args);
9316593165 return this;
9316693166 }
93167+ useInstallPath(installPath) {
93168+ if (installPath == null) {
93169+ installPath = DotnetInstallDir.dirPath;
93170+ }
93171+ this.useArguments(utils_1.IS_WINDOWS ? '-Install-Dir' : '--install-dir', installPath);
93172+ return this;
93173+ }
9316793174 useVersion(dotnetVersion, quality) {
9316893175 if (dotnetVersion.type) {
9316993176 this.useArguments(dotnetVersion.type, dotnetVersion.value);
@@ -93189,6 +93196,15 @@ class DotnetInstallScript {
9318993196}
9319093197exports.DotnetInstallScript = DotnetInstallScript;
9319193198class DotnetInstallDir {
93199+ static getInstallDirectory() {
93200+ if (process.env['DOTNET_INSTALL_DIR'] != null) {
93201+ return process.env['DOTNET_INSTALL_DIR'];
93202+ }
93203+ if (process.env['RUNNER_TOOL_CACHE'] != null) {
93204+ return path_1.default.join(process.env['RUNNER_TOOL_CACHE'], 'dotnet');
93205+ }
93206+ return DotnetInstallDir.default[utils_1.PLATFORM];
93207+ }
9319293208 static convertInstallPathToAbsolute(installDir) {
9319393209 if (path_1.default.isAbsolute(installDir))
9319493210 return path_1.default.normalize(installDir);
@@ -93211,9 +93227,7 @@ DotnetInstallDir.default = {
9321193227 mac: path_1.default.join(process.env['HOME'] + '', '.dotnet'),
9321293228 windows: path_1.default.join(process.env['PROGRAMFILES'] + '', 'dotnet')
9321393229};
93214- DotnetInstallDir.dirPath = process.env['DOTNET_INSTALL_DIR']
93215- ? DotnetInstallDir.convertInstallPathToAbsolute(process.env['DOTNET_INSTALL_DIR'])
93216- : DotnetInstallDir.default[utils_1.PLATFORM];
93230+ DotnetInstallDir.dirPath = DotnetInstallDir.convertInstallPathToAbsolute(DotnetInstallDir.getInstallDirectory());
9321793231class DotnetCoreInstaller {
9321893232 constructor(version, quality) {
9321993233 this.version = version;
@@ -93234,6 +93248,8 @@ class DotnetCoreInstaller {
9323493248 .useArguments(utils_1.IS_WINDOWS ? '-Runtime' : '--runtime', 'dotnet')
9323593249 // Use latest stable version
9323693250 .useArguments(utils_1.IS_WINDOWS ? '-Channel' : '--channel', 'LTS')
93251+ // Explicitly set the install path (see https://github.com/actions/setup-dotnet/issues/360)
93252+ .useInstallPath(DotnetInstallDir.dirPath)
9323793253 .execute();
9323893254 if (runtimeInstallOutput.exitCode) {
9323993255 /**
@@ -93251,6 +93267,8 @@ class DotnetCoreInstaller {
9325193267 .useArguments(utils_1.IS_WINDOWS ? '-SkipNonVersionedFiles' : '--skip-non-versioned-files')
9325293268 // Use version provided by user
9325393269 .useVersion(dotnetVersion, this.quality)
93270+ // Explicitly set the install path (see https://github.com/actions/setup-dotnet/issues/360)
93271+ .useInstallPath(DotnetInstallDir.dirPath)
9325493272 .execute();
9325593273 if (dotnetInstallOutput.exitCode) {
9325693274 throw new Error(`Failed to install dotnet, exit code: ${dotnetInstallOutput.exitCode}. ${dotnetInstallOutput.stderr}`);
0 commit comments