Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Then don't use the GitHub Actions defaults? Write your own Nodejs install script and use that instead.

That's what I do and it's pretty stable: https://github.com/alshdavid-templates/siteforge/blob/main/....



Why both the pipe into sh and eval? The latter could handle all everything.

Couple more thoughts and unsolicited feedback from a quick eyeball:

- Use https://

- Wrap everything in a shell function to ensure that partial content is not executed.

- Wrap variable substitutions with "${OUTPUT_DIR}" to prevent arg splitting if they contain whitespace. Line 124, `rm -rf $OUT_DIR_INSTALL` is pretty scary if invoked with whitespace in OUT_DIR.

- Download nodejs tarball to temp directory and then extract them to prevent partial extraction


I could be wrong but I don't think you can set shell variables from the pipe, right?

    echo "export FOO=bar" | bash
    echo $FOO
I am trying to set the variables in the current shell

   eval $(echo "echo 'export FOO=bar'" | bash)
   echo $FOO
So my script writes variables to stdout and redirects everything else to stderr. I use this to update a `.bashrc` while also updating the current shell


   uses: actions/checkout@v4
That uses the Node that is provided by GitHub, and that will break in the future.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: