Merge pull request #9 from hecrj/use-toolchain-install
Use toolchain install instead of multiple commands
This commit is contained in:
		
							
								
								
									
										11
									
								
								lib/main.js
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								lib/main.js
									
									
									
									
									
								
							@@ -32,14 +32,11 @@ function run() {
 | 
			
		||||
                .filter((target) => target.length > 0);
 | 
			
		||||
            if (version) {
 | 
			
		||||
                yield rustup.install();
 | 
			
		||||
                yield exec.exec('rustup', ['toolchain', 'install', version,
 | 
			
		||||
                    ...(components.length > 0 ? ['-c', ...components] : []),
 | 
			
		||||
                    ...(targets.length > 0 ? ['-t', ...targets] : []),
 | 
			
		||||
                ]);
 | 
			
		||||
                yield exec.exec('rustup', ['default', version]);
 | 
			
		||||
                yield exec.exec('rustup', ['update', version]);
 | 
			
		||||
                for (let component of components) {
 | 
			
		||||
                    yield exec.exec('rustup', ['component', 'add', component]);
 | 
			
		||||
                }
 | 
			
		||||
                for (let target of targets) {
 | 
			
		||||
                    yield exec.exec('rustup', ['target', 'add', target]);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        catch (error) {
 | 
			
		||||
 
 | 
			
		||||
@@ -30,6 +30,12 @@ function install() {
 | 
			
		||||
            core.debug('rustup is located under: ' + toolPath);
 | 
			
		||||
            core.addPath(path.join(toolPath, 'bin'));
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            // Update the GitHub managed VM version of rustup
 | 
			
		||||
            // to leverage newer features like "latest latest compatible nightly"
 | 
			
		||||
            yield exec.exec('rustup', ['self', 'update']);
 | 
			
		||||
            yield exec.exec('rustup', ['set', 'profile', 'minimal']);
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
exports.install = install;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								src/main.ts
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								src/main.ts
									
									
									
									
									
								
							@@ -6,10 +6,12 @@ import * as os from 'os';
 | 
			
		||||
async function run() {
 | 
			
		||||
  try {
 | 
			
		||||
    const version = core.getInput('rust-version');
 | 
			
		||||
 | 
			
		||||
    const components = core.getInput('components')
 | 
			
		||||
      .split(',')
 | 
			
		||||
      .map((component) => component.trim())
 | 
			
		||||
      .filter((component) => component.length > 0);
 | 
			
		||||
 | 
			
		||||
    const targets = core.getInput('targets')
 | 
			
		||||
      .split(',')
 | 
			
		||||
      .map((target) => target.trim())
 | 
			
		||||
@@ -17,16 +19,16 @@ async function run() {
 | 
			
		||||
 | 
			
		||||
    if(version) {
 | 
			
		||||
      await rustup.install();
 | 
			
		||||
 | 
			
		||||
      await exec.exec(
 | 
			
		||||
        'rustup',
 | 
			
		||||
        ['toolchain', 'install', version,
 | 
			
		||||
          ...(components.length > 0 ? ['-c', ...components] : []),
 | 
			
		||||
          ...(targets.length > 0 ? ['-t', ...targets] : []),
 | 
			
		||||
        ]
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
      await exec.exec('rustup', ['default', version]);
 | 
			
		||||
      await exec.exec('rustup', ['update', version]);
 | 
			
		||||
 | 
			
		||||
      for(let component of components) {
 | 
			
		||||
        await exec.exec('rustup', ['component', 'add', component]);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      for(let target of targets) {
 | 
			
		||||
        await exec.exec('rustup', ['target', 'add', target]);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  } catch (error) {
 | 
			
		||||
    core.setFailed(error.message);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,9 +15,11 @@ export async function install() {
 | 
			
		||||
    core.debug('rustup is located under: ' + toolPath);
 | 
			
		||||
    core.addPath(path.join(toolPath, 'bin'));
 | 
			
		||||
  } else {
 | 
			
		||||
    // update the GitHub managed VM version of rustup
 | 
			
		||||
    // Update the GitHub managed VM version of rustup
 | 
			
		||||
    // to leverage newer features like "latest latest compatible nightly"
 | 
			
		||||
    await exec.exec('rustup', ['self', 'update']);
 | 
			
		||||
 | 
			
		||||
    await exec.exec('rustup', ['set', 'profile', 'minimal']);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user