@@ -17777,20 +17777,40 @@ function getLatestVolta() {
1777717777function voltaVersionHasSetup(version) {
1777817778 return semver.gte(version, '0.7.0');
1777917779}
17780- function buildDownloadUrl(platform, version) {
17780+ function buildDownloadUrl(platform, arch, version) {
1778117781 let fileName;
17782- switch (platform) {
17783- case 'darwin':
17784- fileName = `volta-${version}-macos.tar.gz`;
17785- break;
17786- case 'linux':
17787- fileName = `volta-${version}-linux-openssl-1.1.tar.gz`;
17788- break;
17789- case 'win32':
17790- fileName = `volta-${version}-windows-x86_64.msi`;
17791- break;
17792- default:
17793- throw new Error(`your platform ${platform} is not yet supported`);
17782+ const isOpenSSLDependent = semver.lt(version, '1.1.0');
17783+ if (isOpenSSLDependent) {
17784+ switch (platform) {
17785+ case 'darwin':
17786+ fileName = `volta-${version}-macos.tar.gz`;
17787+ break;
17788+ case 'linux': {
17789+ fileName = `volta-${version}-linux-openssl-1.1.tar.gz`;
17790+ break;
17791+ }
17792+ case 'win32':
17793+ fileName = `volta-${version}-windows-x86_64.msi`;
17794+ break;
17795+ default:
17796+ throw new Error(`your platform ${platform} is not yet supported`);
17797+ }
17798+ }
17799+ else {
17800+ switch (platform) {
17801+ case 'darwin':
17802+ fileName = `volta-${version}-macos${arch === 'arm64' ? '-aarch64' : ''}.tar.gz`;
17803+ break;
17804+ case 'linux': {
17805+ fileName = `volta-${version}-linux.tar.gz`;
17806+ break;
17807+ }
17808+ case 'win32':
17809+ fileName = `volta-${version}-windows-x86_64.msi`;
17810+ break;
17811+ default:
17812+ throw new Error(`your platform ${platform} is not yet supported`);
17813+ }
1779417814 }
1779517815 return `https://github.com/volta-cli/volta/releases/download/v${version}/${fileName}`;
1779617816}
@@ -17851,7 +17871,7 @@ function acquireVolta(version) {
1785117871 // Download - a tool installer intimately knows how to get the tool (and construct urls)
1785217872 //
1785317873 core.info(`downloading volta@${version}`);
17854- const downloadUrl = buildDownloadUrl(os.platform(), version);
17874+ const downloadUrl = yield buildDownloadUrl(os.platform(), os.arch (), version);
1785517875 core.debug(`downloading from \`${downloadUrl}\``);
1785617876 const downloadPath = yield tc.downloadTool(downloadUrl);
1785717877 const voltaHome = path.join(
0 commit comments