mirror of
https://github.com/actions/runner-images.git
synced 2025-12-14 13:17:54 +00:00
Inital commit.
This commit is contained in:
47
images/linux/scripts/installers/nodejs.sh
Normal file
47
images/linux/scripts/installers/nodejs.sh
Normal file
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
## File: nodejs.sh
|
||||
## Team: CI-Platform
|
||||
## Desc: Installs Node.js LTS and related tooling (Gulp, Bower, Grunt)
|
||||
################################################################################
|
||||
|
||||
# Source the helpers for use with the script
|
||||
source $HELPER_SCRIPTS/document.sh
|
||||
|
||||
# Install LTS Node.js and related build tools
|
||||
curl -sL https://git.io/n-install | bash -s -- -ny -
|
||||
~/n/bin/n lts
|
||||
npm install -g bower grunt gulp n parcel-bundler typescript
|
||||
npm install -g --save-dev webpack webpack-cli
|
||||
npm install -g npm
|
||||
rm -rf ~/n
|
||||
|
||||
# Install Yarn repository and key
|
||||
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
|
||||
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
|
||||
apt-get update
|
||||
|
||||
# Install yarn
|
||||
apt-get install -y --no-install-recommends yarn
|
||||
|
||||
# Run tests to determine that the software installed as expected
|
||||
echo "Testing to make sure that script performed as expected, and basic scenarios work"
|
||||
for cmd in node bower grunt gulp webpack parcel yarn; do
|
||||
if ! command -v $cmd; then
|
||||
echo "$cmd was not installed"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Document what was added to the image
|
||||
echo "Lastly, documenting what we added to the metadata file"
|
||||
DocumentInstalledItem "Node.js ($(node --version))"
|
||||
DocumentInstalledItem "Bower ($(bower --version))"
|
||||
DocumentInstalledItem "Grunt ($(grunt --version))"
|
||||
DocumentInstalledItem "Gulp ($(gulp --version))"
|
||||
DocumentInstalledItem "n ($(n --version))"
|
||||
DocumentInstalledItem "Parcel ($(parcel --version))"
|
||||
DocumentInstalledItem "TypeScript ($(tsc --version))"
|
||||
DocumentInstalledItem "Webpack ($(webpack --version))"
|
||||
DocumentInstalledItem "Webpack CLI ($(webpack-cli --version))"
|
||||
DocumentInstalledItem "Yarn ($(yarn --version))"
|
||||
Reference in New Issue
Block a user