diff --git a/action-types.yml b/action-types.yml new file mode 100644 index 0000000..794fd5e --- /dev/null +++ b/action-types.yml @@ -0,0 +1,18 @@ +# See https://github.com/krzema12/github-actions-typing +inputs: + vswhere-path: + type: string + vs-version: + type: string + vs-prerelease: + type: boolean + msbuild-architecture: + type: enum + name: Architecture + allowed-values: + - x86 + - x64 + - arm64 +outputs: + msbuildPath: + type: string diff --git a/action.yml b/action.yml index e88ae5b..afbcc2f 100644 --- a/action.yml +++ b/action.yml @@ -15,7 +15,7 @@ inputs: description: 'Enable searching for pre-release versions of Visual Studio/MSBuild' required: false msbuild-architecture: - description: 'The preferred processor architecture of MSBuild. Can be either "x86" or "x64". "x64" is only available from Visual Studio version 17.0 and later.' + description: 'The preferred processor architecture of MSBuild. Can be either "x86", "x64", or "arm64". "x64" is only available from Visual Studio version 17.0 and later.' required: false default: 'x86' outputs: diff --git a/dist/index.js b/dist/index.js index 2b30209..134764c 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1652,7 +1652,7 @@ const IS_WINDOWS = process.platform === 'win32'; const VS_VERSION = core.getInput('vs-version') || 'latest'; const VSWHERE_PATH = core.getInput('vswhere-path'); const ALLOW_PRERELEASE = core.getInput('vs-prerelease') || 'false'; -const MSBUILD_ARCH = core.getInput('msbuild-architecture') || 'x86'; +let MSBUILD_ARCH = core.getInput('msbuild-architecture') || 'x86'; // if a specific version of VS is requested let VSWHERE_EXEC = '-products * -requires Microsoft.Component.MSBuild -property installationPath -latest '; if (ALLOW_PRERELEASE === 'true') { @@ -1703,6 +1703,10 @@ function run() { core.debug(`Found installation path: ${installationPath}`); // x64 and arm64 only exist in one possible location, so no fallback probing if (MSBUILD_ARCH === 'x64' || MSBUILD_ARCH === 'arm64') { + // x64 is actually amd64 so change to that + if (MSBUILD_ARCH === 'x64') { + MSBUILD_ARCH = 'amd64'; + } let toolPath = path.join(installationPath, `MSBuild\\Current\\Bin\\${MSBUILD_ARCH}\\MSBuild.exe`); core.debug(`Checking for path: ${toolPath}`); if (!fs.existsSync(toolPath)) { diff --git a/package-lock.json b/package-lock.json index 2938370..00a3193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "setup-msbuild", - "version": "1.2.0", + "version": "1.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "setup-msbuild", - "version": "1.2.0", + "version": "1.3.0", "license": "MIT", "dependencies": { "@actions/core": "^1.10.0", diff --git a/package.json b/package.json index cb76856..2ab4da2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "setup-msbuild", - "version": "1.2.0", + "version": "1.3.1", "private": true, "description": "Helps set up specific MSBuild tool into PATH for later usage.", "main": "lib/main.js", diff --git a/src/main.ts b/src/main.ts index 5668bba..b449dc3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -9,7 +9,7 @@ const IS_WINDOWS = process.platform === 'win32' const VS_VERSION = core.getInput('vs-version') || 'latest' const VSWHERE_PATH = core.getInput('vswhere-path') const ALLOW_PRERELEASE = core.getInput('vs-prerelease') || 'false' -const MSBUILD_ARCH = core.getInput('msbuild-architecture') || 'x86' +let MSBUILD_ARCH = core.getInput('msbuild-architecture') || 'x86' // if a specific version of VS is requested let VSWHERE_EXEC = '-products * -requires Microsoft.Component.MSBuild -property installationPath -latest ' @@ -73,6 +73,10 @@ async function run(): Promise { // x64 and arm64 only exist in one possible location, so no fallback probing if (MSBUILD_ARCH === 'x64' || MSBUILD_ARCH === 'arm64') { + // x64 is actually amd64 so change to that + if (MSBUILD_ARCH === 'x64') { + MSBUILD_ARCH = 'amd64' + } let toolPath = path.join( installationPath, `MSBuild\\Current\\Bin\\${MSBUILD_ARCH}\\MSBuild.exe` pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy