@@ -22922,12 +22922,14 @@ async function getLatestVoltaFromVoltaSH() {
22922
22922
function voltaVersionHasSetup(version) {
22923
22923
return semver.gte(version, '0.7.0');
22924
22924
}
22925
- async function buildDownloadUrl(platform, version, variant = '', openSSLVersionForTesting = '') {
22925
+ async function buildDownloadUrl(platform, arch, version, variant = '', openSSLVersionForTesting = '') {
22926
22926
let fileName = '';
22927
+ const isOpenSSLDependent = semver.lt(version, '1.1.0');
22927
22928
if (variant) {
22928
22929
fileName = `volta-${version}-${variant}.tar.gz`;
22929
22930
}
22930
- else {
22931
+ else if (isOpenSSLDependent) {
22932
+ // TODO: remove this branch when support for volta < 1.1.0 is dropped
22931
22933
switch (platform) {
22932
22934
case 'darwin':
22933
22935
fileName = `volta-${version}-macos.tar.gz`;
@@ -22944,6 +22946,22 @@ async function buildDownloadUrl(platform, version, variant = '', openSSLVersionF
22944
22946
throw new Error(`your platform ${platform} is not yet supported`);
22945
22947
}
22946
22948
}
22949
+ else {
22950
+ switch (platform) {
22951
+ case 'darwin':
22952
+ fileName = `volta-${version}-macos${arch === 'arm64' ? '-aarch64' : ''}.tar.gz`;
22953
+ break;
22954
+ case 'linux': {
22955
+ fileName = `volta-${version}-linux.tar.gz`;
22956
+ break;
22957
+ }
22958
+ case 'win32':
22959
+ fileName = `volta-${version}-windows-x86_64.msi`;
22960
+ break;
22961
+ default:
22962
+ throw new Error(`your platform ${platform} is not yet supported`);
22963
+ }
22964
+ }
22947
22965
return `https://github.com/volta-cli/volta/releases/download/v${version}/${fileName}`;
22948
22966
}
22949
22967
async function getOpenSSLVersion(version = '') {
@@ -23022,7 +23040,7 @@ async function acquireVolta(version, options) {
23022
23040
// Download - a tool installer intimately knows how to get the tool (and construct urls)
23023
23041
//
23024
23042
core.info(`downloading volta@${version}`);
23025
- const downloadUrl = await buildDownloadUrl(external_os_.platform(), version, options.variant);
23043
+ const downloadUrl = await buildDownloadUrl(external_os_.platform(), external_os_.arch(), version, options.variant);
23026
23044
core.debug(`downloading from \`${downloadUrl}\``);
23027
23045
const downloadPath = await tool_cache.downloadTool(downloadUrl, undefined, options.authToken);
23028
23046
const voltaHome = external_path_.join(
0 commit comments