From f019fc46dc1b0378f8e7f9b11acd9625752f87d1 Mon Sep 17 00:00:00 2001 From: Michael Krotscheck <krotscheck@gmail.com> Date: Thu, 10 Jul 2014 12:45:16 -0700 Subject: [PATCH] Added NodeJS and NPM to javascript build It turns out that trusty has a recent-enough version of node and NPM to allow us to remove the nodeenv dependency in our javascript builds. This is the first step in doing this, to get the core javascript build tools onto our jenkins nodes. Note that a symlink for node is also created, because debian has a different module called "node" for which there's a namespace conflict. Since it's isolated to the npm-install macro and we're unlikley to ever do Amateur Radio things on infra, I don't expect this to be a problem. Change-Id: I5349ad2013185fa20e784e3aa3691c7d41c43636 --- .../files/jenkins_job_builder/config/javascript.yaml | 2 ++ .../files/jenkins_job_builder/config/macros.yaml | 6 ++++++ .../files/jenkins_job_builder/config/projects.yaml | 4 ++-- modules/openstack_project/files/zuul/layout.yaml | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/openstack_project/files/jenkins_job_builder/config/javascript.yaml b/modules/openstack_project/files/jenkins_job_builder/config/javascript.yaml index 1cba700282..849a5c388a 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/javascript.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/javascript.yaml @@ -7,6 +7,7 @@ - timestamps builders: + - npm-install - revoke-sudo - gerrit-git-prep - js-build: @@ -39,6 +40,7 @@ name: '{name}-js-release-{branch-designator}' builders: + - npm-install - revoke-sudo - gerrit-git-prep - js-build: diff --git a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml index 2a3302cb22..615853834f 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/macros.yaml @@ -74,6 +74,12 @@ builders: - shell: "/usr/local/jenkins/slave_scripts/run-pylint.sh {github-org} {project}" +- builder: + name: npm-install + builders: + - shell: "sudo apt-get install nodejs npm" + - shell: "sudo ln /usr/bin/nodejs /usr/local/bin/node" + - builder: name: puppet-lint builders: diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml index 747cd2c6f8..bad11e5b5f 100644 --- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml +++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml @@ -1422,7 +1422,7 @@ - project: name: storyboard-webclient github-org: openstack-infra - node: 'bare-precise || bare-trusty' + node: 'bare-trusty' tarball-site: tarballs.openstack.org jobs: @@ -1445,7 +1445,7 @@ - project: name: vinz-webclient github-org: openstack-infra - node: 'bare-precise || bare-trusty' + node: 'bare-trusty' tarball-site: tarballs.openstack.org jobs: diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml index 487f0f5bd6..bd86f40610 100644 --- a/modules/openstack_project/files/zuul/layout.yaml +++ b/modules/openstack_project/files/zuul/layout.yaml @@ -541,8 +541,10 @@ jobs: - name: ^gate-.*-docs$ success-pattern: http://docs-draft.openstack.org/{build.parameters[LOG_PATH]}/doc/build/html/ - name: gate-storyboard-webclient-js-unittests + parameter-function: set_node_options_default_trusty success-pattern: http://docs-draft.openstack.org/{build.parameters[LOG_PATH]}/dist/ - name: gate-vinz-webclient-js-unittests + parameter-function: set_node_options_default_trusty success-pattern: http://docs-draft.openstack.org/{build.parameters[LOG_PATH]}/dist/ - name: infra-publications-publish branch: ^(?!master).*$