e6d20ad130
- Add npm-run as a build macro. - Add xvfb-start as a build macro for generic xvfb startup. - Added gate-{project}-npm-run-{command} as a build template. - Made that same build template non-voting. - Added gate-storyboard-webclient-npm-run-lint as a first job. Note that using this target presumes that you will pipe your output reports into ./reports. Change-Id: Ie772bf2c7b56aaed3c36fc1cb1cb970dfc3f93ff
151 lines
4.0 KiB
YAML
151 lines
4.0 KiB
YAML
# Executes a command registered inside of package.json. For more information on
|
|
# how this works, see https://docs.npmjs.com/cli/run-script. This build assumes
|
|
# that whatever is being run under the hood, it will pipe its output to the
|
|
# ./reports directory in the projects' root directory. This output is
|
|
# subsequently copied to static.openstack.org (the clickthrough target from
|
|
# gerrit).
|
|
- job-template:
|
|
name: 'gate-{name}-npm-run-{command}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 40
|
|
- timestamps
|
|
|
|
builders:
|
|
- npm-install
|
|
- xvfb-install
|
|
- chrome-install
|
|
- firefox-install
|
|
- revoke-sudo
|
|
- xvfb-start
|
|
- gerrit-git-prep
|
|
- npm-run:
|
|
command: '{command}'
|
|
- assert-no-extra-files
|
|
publishers:
|
|
- console-log
|
|
- coverage-log
|
|
- scp:
|
|
site: 'static.openstack.org'
|
|
files:
|
|
- target: 'logs/$LOG_PATH'
|
|
source: 'reports/**'
|
|
keep-hierarchy: true
|
|
copy-after-failure: true
|
|
node: '{node}'
|
|
|
|
# Runs Grunt Tests. To use this build, your Gruntfile must declare
|
|
# a target named test:{name}, such as test:unit, test:integration, or
|
|
# test:functional
|
|
- job-template:
|
|
name: 'gate-{name}-js-test-{test-type}'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 40
|
|
- timestamps
|
|
|
|
builders:
|
|
- npm-install
|
|
- xvfb-install
|
|
- chrome-install
|
|
- revoke-sudo
|
|
- gerrit-git-prep
|
|
- js-build:
|
|
command: 'test:{test-type}'
|
|
envlist: 'grunt'
|
|
project: '{name}'
|
|
- assert-no-extra-files
|
|
|
|
publishers:
|
|
- console-log
|
|
- coverage-log
|
|
- scp:
|
|
site: 'static.openstack.org'
|
|
files:
|
|
- target: 'logs/$LOG_PATH'
|
|
source: 'reports/**'
|
|
keep-hierarchy: true
|
|
copy-after-failure: true
|
|
node: '{node}'
|
|
|
|
# Builds a draft application and uploads it to docs-draft. To use this build,
|
|
# your Gruntfile must declare a target named "build:draft"
|
|
- job-template:
|
|
name: 'gate-{name}-js-draft'
|
|
|
|
wrappers:
|
|
- build-timeout:
|
|
timeout: 40
|
|
- timestamps
|
|
|
|
builders:
|
|
- npm-install
|
|
- revoke-sudo
|
|
- gerrit-git-prep
|
|
- js-build:
|
|
command: 'build:draft'
|
|
envlist: 'grunt'
|
|
project: '{name}'
|
|
- assert-no-extra-files
|
|
|
|
publishers:
|
|
- console-log
|
|
- coverage-log
|
|
- scp:
|
|
site: 'static.openstack.org'
|
|
files:
|
|
- target: 'logs/$LOG_PATH'
|
|
source: 'reports/**'
|
|
keep-hierarchy: true
|
|
copy-after-failure: true
|
|
|
|
# We're uploading the compiled app as a pre-release sanity check,
|
|
# much like we do with docs builds.
|
|
- target: 'docs-draft/$LOG_PATH'
|
|
source: 'dist/**'
|
|
keep-hierarchy: true
|
|
copy-after-failure: false
|
|
node: '{node}'
|
|
|
|
# Builds a release tarball
|
|
- job-template:
|
|
name: '{name}-js-release-{branch-designator}'
|
|
|
|
builders:
|
|
- npm-install
|
|
- revoke-sudo
|
|
- gerrit-git-prep
|
|
- js-build:
|
|
command: 'build'
|
|
envlist: 'grunt'
|
|
- shell: |
|
|
#!/bin/bash -xe
|
|
/usr/local/jenkins/slave_scripts/version-properties.sh
|
|
source version.properties
|
|
|
|
# Clean/create a tarball directory
|
|
rm -rf tarballs
|
|
mkdir -p tarballs
|
|
|
|
# Create an archive tarball.
|
|
tar -czf {name}-$PROJECT_VER.tar.gz dist/
|
|
cp {name}-$PROJECT_VER.tar.gz tarballs/{name}-latest.tar.gz
|
|
mv {name}-$PROJECT_VER.tar.gz tarballs/
|
|
publishers:
|
|
- console-log
|
|
- coverage-log
|
|
- scp:
|
|
site: 'static.openstack.org'
|
|
files:
|
|
- target: 'logs/$LOG_PATH'
|
|
source: 'reports/**'
|
|
keep-hierarchy: true
|
|
copy-after-failure: true
|
|
- target: 'tarballs/{name}/'
|
|
source: 'tarballs/*.tar.gz'
|
|
keep-hierarchy: false
|
|
copy-after-failure: false
|
|
node: '{node}'
|