Merge "Use node v10 instead of node v8"

This commit is contained in:
Zuul 2019-02-05 18:40:53 +00:00 committed by Gerrit Code Review
commit 024537e4ec
4 changed files with 155 additions and 47 deletions

View File

@ -183,11 +183,11 @@
- zuul-build-dashboard-multi-tenant - zuul-build-dashboard-multi-tenant
- nodejs-npm-run-lint: - nodejs-npm-run-lint:
vars: vars:
node_version: 8 node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web" zuul_work_dir: "{{ zuul.project.src_dir }}/web"
- nodejs-npm-run-test: - nodejs-npm-run-test:
vars: vars:
node_version: 8 node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web" zuul_work_dir: "{{ zuul.project.src_dir }}/web"
success-url: 'npm/reports/bundle.html' success-url: 'npm/reports/bundle.html'
files: files:
@ -214,11 +214,11 @@
- zuul-build-dashboard - zuul-build-dashboard
- nodejs-npm-run-lint: - nodejs-npm-run-lint:
vars: vars:
node_version: 8 node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web" zuul_work_dir: "{{ zuul.project.src_dir }}/web"
- nodejs-npm-run-test: - nodejs-npm-run-test:
vars: vars:
node_version: 8 node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web" zuul_work_dir: "{{ zuul.project.src_dir }}/web"
success-url: 'npm/reports/bundle.html' success-url: 'npm/reports/bundle.html'
files: files:
@ -233,7 +233,7 @@
- publish-zuul-python-branch-tarball - publish-zuul-python-branch-tarball
- publish-openstack-javascript-content: - publish-openstack-javascript-content:
vars: vars:
node_version: 8 node_version: 10
zuul_work_dir: "{{ zuul.project.src_dir }}/web" zuul_work_dir: "{{ zuul.project.src_dir }}/web"
create_tarball_directory: build create_tarball_directory: build
promote: promote:

188
tools/install-js-repos-rpm.sh Executable file → Normal file
View File

@ -22,25 +22,62 @@
# The above license is inferred from the # The above license is inferred from the
# https://github.com/nodesource/distributions source repository. # https://github.com/nodesource/distributions source repository.
# Discussion, issues and change requests at: # Discussion, issues and change requests at:
# https://github.com/nodesource/distributions # https://github.com/nodesource/distributions
# #
# Script to install the NodeSource Node.js 8.x repo onto an # Script to install the NodeSource Node.js 10.x repo onto an
# Enterprise Linux or Fedora Core based system. # Enterprise Linux or Fedora Core based system.
# #
# Run as root or insert `sudo -E` before `bash`: # This was downloaded from https://rpm.nodesource.com/setup_10.x
#
# This was downloaded from https://rpm.nodesource.com/setup_8.x
# A few modifications have been made. # A few modifications have been made.
SCRSUFFIX="_10.x"
NODENAME="Node.js 10.x"
NODEREPO="pub_10.x"
NODEPKG="nodejs"
print_status() { print_status() {
local outp=$(echo "$1" | sed -r 's/\\n/\\n## /mg') local outp=$(echo "$1") # | sed -r 's/\\n/\\n## /mg')
echo echo
echo -e "## ${outp}" echo -e "## ${outp}"
echo echo
} }
if test -t 1; then # if terminal
ncolors=$(which tput > /dev/null && tput colors) # supports color
if test -n "$ncolors" && test $ncolors -ge 8; then
termcols=$(tput cols)
bold="$(tput bold)"
underline="$(tput smul)"
standout="$(tput smso)"
normal="$(tput sgr0)"
black="$(tput setaf 0)"
red="$(tput setaf 1)"
green="$(tput setaf 2)"
yellow="$(tput setaf 3)"
blue="$(tput setaf 4)"
magenta="$(tput setaf 5)"
cyan="$(tput setaf 6)"
white="$(tput setaf 7)"
fi
fi
print_bold() {
title="$1"
text="$2"
echo
echo "${red}================================================================================${normal}"
echo "${red}================================================================================${normal}"
echo
echo -e " ${bold}${yellow}${title}${normal}"
echo
echo -en " ${text}"
echo
echo "${red}================================================================================${normal}"
echo "${red}================================================================================${normal}"
}
bail() { bail() {
echo 'Error executing command, exiting' echo 'Error executing command, exiting'
exit 1 exit 1
@ -55,18 +92,88 @@ exec_cmd() {
exec_cmd_nobail "$1" || bail exec_cmd_nobail "$1" || bail
} }
print_status "Installing the NodeSource Node.js 8.x repo..." node_deprecation_warning() {
if [[ "X${NODENAME}" == "Xio.js 1.x" ||
"X${NODENAME}" == "Xio.js 2.x" ||
"X${NODENAME}" == "Xio.js 3.x" ||
"X${NODENAME}" == "XNode.js 0.10" ||
"X${NODENAME}" == "XNode.js 0.12" ||
"X${NODENAME}" == "XNode.js 4.x LTS Argon" ||
"X${NODENAME}" == "XNode.js 5.x" ||
"X${NODENAME}" == "XNode.js 7.x" ]]; then
print_bold \
" DEPRECATION WARNING " "\
${bold}${NODENAME} is no longer actively supported!${normal}
${bold}You will not receive security or critical stability updates${normal} for this version.
You should migrate to a supported version of Node.js as soon as possible.
Use the installation script that corresponds to the version of Node.js you
wish to install. e.g.
* ${green}https://deb.nodesource.com/setup_8.x — Node.js v8 LTS \"Carbon\"${normal} (recommended)
* ${green}https://deb.nodesource.com/setup_10.x — Node.js v10 Current${normal}
Please see ${bold}https://github.com/nodejs/Release${normal} for details about which
version may be appropriate for you.
The ${bold}NodeSource${normal} Node.js distributions repository contains
information both about supported versions of Node.js and supported Linux
distributions. To learn more about usage, see the repository:
${bold}https://github.com/nodesource/distributions${normal}
"
echo
echo "Continuing in 20 seconds ..."
echo
sleep 20
fi
}
script_deprecation_warning() {
if [ "X${SCRSUFFIX}" == "X" ]; then
print_bold \
" SCRIPT DEPRECATION WARNING " "\
This script, located at ${bold}https://rpm.nodesource.com/setup${normal}, used to
install Node.js v0.10, is deprecated and will eventually be made inactive.
You should use the script that corresponds to the version of Node.js you
wish to install. e.g.
* ${green}https://deb.nodesource.com/setup_8.x — Node.js v8 LTS \"Carbon\"${normal} (recommended)
* ${green}https://deb.nodesource.com/setup_10.x — Node.js v10 Current${normal}
Please see ${bold}https://github.com/nodejs/Release${normal} for details about which
version may be appropriate for you.
The ${bold}NodeSource${normal} Node.js Linux distributions GitHub repository contains
information about which versions of Node.js and which Linux distributions
are supported and how to use the install scripts.
${bold}https://github.com/nodesource/distributions${normal}
"
echo
echo "Continuing in 20 seconds (press Ctrl-C to abort) ..."
echo
sleep 20
fi
}
setup() {
script_deprecation_warning
node_deprecation_warning
print_status "Installing the NodeSource ${NODENAME} repo..."
print_status "Inspecting system..." print_status "Inspecting system..."
if [ ! -x /bin/rpm ]; then if [ ! -x /bin/rpm ]; then
print_status "\ print_status """You don't appear to be running an Enterprise Linux based system,
You don't appear to be running an Enterprise Linux based \ please contact NodeSource at https://github.com/nodesource/distributions/issues
system, please contact NodeSource at \ if you think this is incorrect or would like your distribution to be considered
https://github.com/nodesource/distributions/issues if you think this \ for support.
is incorrect or would like your distribution to be considered for \ """
support.\
"
exit 1 exit 1
fi fi
@ -98,7 +205,7 @@ fi
if [[ $DISTRO_PKG =~ ^(redhat|centos|cloudlinux|sl)- ]]; then if [[ $DISTRO_PKG =~ ^(redhat|centos|cloudlinux|sl)- ]]; then
DIST_TYPE=el DIST_TYPE=el
elif [[ $DISTRO_PKG =~ ^system-release- ]]; then # Amazon Linux elif [[ $DISTRO_PKG =~ ^(enterprise|system)-release- ]]; then # Oracle Linux & Amazon Linux
DIST_TYPE=el DIST_TYPE=el
elif [[ $DISTRO_PKG =~ ^(fedora|korora)- ]]; then elif [[ $DISTRO_PKG =~ ^(fedora|korora)- ]]; then
DIST_TYPE=fc DIST_TYPE=fc
@ -115,7 +222,7 @@ Include your 'distribution package' name: ${DISTRO_PKG}. \
fi fi
if [[ $DISTRO_PKG =~ ^system-release-201[4-9]\. ]]; then #NOTE: not really future-proof if [[ $DISTRO_PKG =~ ^system-release ]]; then
# Amazon Linux, for 2014.* use el7, older versions are unknown, perhaps el6 # Amazon Linux, for 2014.* use el7, older versions are unknown, perhaps el6
DIST_VERSION=7 DIST_VERSION=7
@ -124,7 +231,7 @@ else
## Using the redhat-release-server-X, centos-release-X, etc. pattern ## Using the redhat-release-server-X, centos-release-X, etc. pattern
## extract the major version number of the distro ## extract the major version number of the distro
DIST_VERSION=$(echo $DISTRO_PKG | sed -r 's/^[[:alpha:]]+-release(-server|-workstation)?-([0-9]+).*$/\2/') DIST_VERSION=$(echo $DISTRO_PKG | sed -r 's/^[[:alpha:]]+-release(-server|-workstation|-client)?-([0-9]+).*$/\2/')
if ! [[ $DIST_VERSION =~ ^[0-9][0-9]?$ ]]; then if ! [[ $DIST_VERSION =~ ^[0-9][0-9]?$ ]]; then
@ -147,7 +254,7 @@ fi
## we include the arch in the directory tree anyway) ## we include the arch in the directory tree anyway)
RELEASE_URL_VERSION_STRING="${DIST_TYPE}${DIST_VERSION}" RELEASE_URL_VERSION_STRING="${DIST_TYPE}${DIST_VERSION}"
RELEASE_URL="\ RELEASE_URL="\
https://rpm.nodesource.com/pub_8.x/\ https://rpm.nodesource.com/${NODEREPO}/\
${DIST_TYPE}/\ ${DIST_TYPE}/\
${DIST_VERSION}/\ ${DIST_VERSION}/\
${DIST_ARCH}/\ ${DIST_ARCH}/\
@ -193,15 +300,14 @@ if [ "$DIST_TYPE" == "el" ] && [ "$DIST_VERSION" == "5" ]; then
exit 1 exit 1
fi fi
print_status "\ print_status """The EPEL (Extra Packages for Enterprise Linux) repository is a
The EPEL (Extra Packages for Enterprise Linux) repository is a\n\ prerequisite for installing Node.js on your operating system. Please
prerequisite for installing Node.js on your operating system. Please\n\ add it and re-run this setup script.
add it and re-run this setup script.\n\
\n\ The EPEL repository RPM is available at:
The EPEL repository RPM is available at:\n\ ${epel_url}${epel}
${epel_url}${epel}\n\ You can try installing with: \`rpm -ivh <url>\`
You can try installing with: \`rpm -ivh <url>\`\ """
"
exit 1 exit 1
fi fi
@ -236,21 +342,23 @@ EXISTING_NODE=$(rpm -qa 'node|npm|iojs' | grep -v nodesource)
if [ "X${EXISTING_NODE}" != "X" ]; then if [ "X${EXISTING_NODE}" != "X" ]; then
# NOTE(mordred) Removed -y from the yum command below. print_status """Your system appears to already have Node.js installed from an alternative source.
print_status "\ Run \`${bold}sudo yum remove -y ${NODEPKG} npm${normal}\` to remove these first.
Your system appears to already have Node.js installed from an alternative source.\n\ """
Run \`\033[1myum remove nodejs npm\033[22m\` (as root) to remove these first.\
"
fi fi
# NOTE(mordred) Removed -y from the yum commands below. print_status """Run \`${bold}sudo yum install -y ${NODEPKG}${normal}\` to install ${NODENAME} and npm.
print_status "\ ## You may also need development tools to build native addons:
Run \`\033[1myum install nodejs\033[22m\` (as root) to install Node.js 8.x and npm.\n\ sudo yum install gcc-c++ make
You may also need development tools to build native addons:\n\ ## To install the Yarn package manager, run:
\`yum install gcc-c++ make\`\ curl -sL https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
" sudo yum install yarn
"""
## Alternative to install dev tools: `yum groupinstall 'Development Tools'
exit 0 exit 0
}
## Defer setup until we have the complete script
setup

View File

@ -25,7 +25,7 @@ if type apt-get; then
$SUDO apt-get install -y apt-transport-https curl gnupg2 $SUDO apt-get install -y apt-transport-https curl gnupg2
# Install recent NodeJS repo # Install recent NodeJS repo
curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | $SUDO apt-key add - curl -sS https://deb.nodesource.com/gpgkey/nodesource.gpg.key | $SUDO apt-key add -
echo "deb https://deb.nodesource.com/node_8.x xenial main" | $SUDO tee /etc/apt/sources.list.d/nodesource.list echo "deb https://deb.nodesource.com/node_10.x bionic main" | $SUDO tee /etc/apt/sources.list.d/nodesource.list
# Install yarn repo # Install yarn repo
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | $SUDO apt-key add - curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | $SUDO apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | $SUDO tee /etc/apt/sources.list.d/yarn.list echo "deb https://dl.yarnpkg.com/debian/ stable main" | $SUDO tee /etc/apt/sources.list.d/yarn.list

View File

@ -1,7 +1,7 @@
{ {
"name": "@zuul-ci/dashboard", "name": "@zuul-ci/dashboard",
"version": "1.0.0", "version": "1.0.0",
"description": "Web Dashboard for Zuul", "description": "Zuul Web Dashboard",
"repository": "https://git.zuul-ci.org/zuul", "repository": "https://git.zuul-ci.org/zuul",
"author": "Zuul Developers", "author": "Zuul Developers",
"license": "Apache-2.0", "license": "Apache-2.0",