@@ -45,23 +45,34 @@ async function run() {
4545
4646 core . exportVariable ( 'MSYSTEM' , core . getInput ( 'msystem' ) ) ;
4747
48+ async function pacman ( args ) {
49+ await exec . exec ( 'cmd' , [ '/D' , '/S' , '/C' , cmd , 'pacman' , '--noconfirm' ] . concat ( args ) ) ;
50+ }
51+
4852 core . startGroup ( 'Starting MSYS2 for the first time...' ) ;
4953 if ( core . getInput ( 'update' ) == 'true' ) {
50- await exec . exec ( 'cmd' , [ '/D' , '/S' , '/C' , cmd ] . concat ( [ 'pacman' , ' -Sy', '--noconfirm' ] ) ) ;
54+ await pacman ( [ ' -Sy'] ) ;
5155 core . endGroup ( ) ;
5256 core . startGroup ( 'Updating bash and pacman...' ) ;
53- await exec . exec ( 'cmd' , [ '/D' , '/S' , '/C' , cmd ] . concat ( [ 'pacman' , ' --needed', '-S' , 'bash' , 'pacman' , '--noconfirm' ] ) ) ;
57+ await pacman ( [ ' --needed', '-S' , 'bash' , 'pacman' ] )
5458 core . endGroup ( ) ;
5559 core . startGroup ( 'Killing remaining tasks...' ) ;
5660 await exec . exec ( 'taskkill' , [ '/IM' , 'gpg-agent.exe' , '/F' ] ) ;
5761 await exec . exec ( 'taskkill' , [ '/IM' , 'dirmngr.exe' , '/F' ] ) ;
5862 core . endGroup ( ) ;
5963 core . startGroup ( 'Updating packages...' ) ;
60- await exec . exec ( 'cmd' , [ '/D' , '/S' , '/C' , cmd ] . concat ( [ 'pacman' , ' -Suu', '--noconfirm' ] ) ) ;
64+ await pacman ( [ ' -Suu'] ) ;
6165 } else {
6266 await exec . exec ( 'cmd' , [ '/D' , '/S' , '/C' , cmd ] . concat ( [ 'uname' , '-a' ] ) ) ;
6367 }
6468 core . endGroup ( ) ;
69+
70+ let install = core . getInput ( 'install' ) ;
71+ if ( install != '' && install != 'false' ) {
72+ core . startGroup ( 'Installing additional packages...' ) ;
73+ await pacman ( [ '-S' ] . concat ( install . split ( ' ' ) ) ) ;
74+ core . endGroup ( ) ;
75+ }
6576 }
6677 catch ( error ) {
6778 core . setFailed ( error . message ) ;
0 commit comments