We do not need gerrit-git-prep anymore, zuul-git-prep works on all our
slaves and has the advantage of using zuul-cloner so that the local
cache is used and Depends-On works.
Remove gerrit-git-prep and use zuul-git-prep instead everywhere.
Change-Id: I2f106af58f78fceaf3c497fe43e6f5a002695645
The AFS based publishing and serving via files.openstack.org works fine,
we can stop publishing to docs.openstack.org
Change-Id: I4d6b51c7f8065e5cd21942acc64ae56639bb185b
Per the annoucement[0] to the openstack-dev mailing list,
this change removes the gating from ironic-webclient to
allow us to retire the ironic-webclient.
Additionally, the '{name}-nodejs{version}-npm-publish-draft'
template was only used by the ironic-webclient to publish a
working draft for users to review. As it is no longer used
anywhere else, it must be removed in order to permit tests
to pass.
[0]: http://lists.openstack.org/pipermail/openstack-dev/2016-December/109195.html
Change-Id: Ie6d940a071f158be647dd86c32752e5988d7c968
Across the entirety of our job config corpus, we only ever set the
tarball-site parameter to tarballs.openstack.org. Instead just set
it directly in the publishers where it's needed and reduce
unwarranted confusion for people writing job configs. This also
allows us to get rid of the parameterized sites in the tarball,
wheel and war publishers.
Change-Id: I31109f41177b8c07177d7ed8ef16cbfd135131ef
We have now some rather long job-template names, shorten them with
replacing job-suffix with suffix.
Before this change we had 1500 usages of job-suffix and 700 of just
suffix. This change therefore unifies to one setting.
Note that this does not change any job names at all, they are unchanged,
it changes and shortens only the names of job-templates.
Change-Id: I514df039a848d9f6619bca3adc05dfb84a761fc9
This adds documentation publishing jobs for js-generator-openstack.
It is published to docs.openstack.org/developer/{name},
from which it can be referenced by other documentation.
Change-Id: I36254f25ece061b9096366cf59fca7f774a495d5
This adds developer documentation publishing jobs for
js-openstack-lib project.
It is published to developer.openstack.org/sdks/javascript, from which
it can be referenced by other documentation.
Change-Id: I038479fef52fb9f08eab14f2aa5c76598e73f669
For js-openstack-lib project, the tarball name is
"openstack-lib-$VER.tgz" and not "js-openstack-lib-$VER.tgz" as we
want to publish the packge without the "js-" prefix.
In order to publish properly, this patch introduce a less restrictive
regex to find the tarball name to publish.
Change-Id: Iffbd40701960b754184eda438436b56b8d87cefa
Functional tests for NPM Projects like js-openstack-lib are run
against devstack, using devstack-gate. However, the scripts that
setup devstack need sudo access in order to setup and configure the
stack properly.
Change-Id: I53aaef0f8092e0006818200c2478762056014985
Create a devstack environment against which a nodejs project may
be tested. Pre and post hooks are delegated directly to npm via
custom commands, which can be configured per job. The Post hook
additionally is passed the path to devstack's generated 'clouds.yaml'
file, which contains credentials for an admin, a non-admin, and
an alternate user.
Example format:
clouds:
devstack:
auth: ...
devstack-admin:
auth: ...
devstack-alt:
auth: ...
Co-Authored-By: Corentin Ardeois <cardeois@internap.com>
Change-Id: I48624786cc5dacf7d94653c0ce269236ba8c442c
This patch adds documentation draft builds and job groups for our
javascript projects. They will upload the constructed documentation
to static.openstack.org so we can make sure it's built correctly.
The jobs depend on bindep to ensure that all necessary
dependencies have been installed, so if you're missing something,
please check bindep.txt in your project's root directory.
As we don't quite yet know whether the projects' docs builds pass,
they have been set to non-voting.
Change-Id: Ic03c731241870443e47e1565119f49cb039f6bd4
Depends-on: Ica6a641a99a642a8b77120e8b747535b819d7c0b
Depends-on: If053677bb48898cf56001e6648605b5420567417
This patch creates two job groups for nodejs6, as well as job
templates for the same. They follow the exact same pattern as
nodejs version 4 templates, to simplify creating an upgrade path.
These jobs have been set to non-voting, and have been added to
the js-openstack-lib project.
Change-Id: I16f6021d5c713153b505560e47c4783cdee314f9
Javascript jobs may now set the version of nodejs they'd like to
run via a parameter in the job's name. This will permit easier
migration to later versions of nodejs.
Change-Id: Id58f8475763f4855b7f5da8c242058bc519a2381
This patch modifies the nodejs-install macro to install based on the
{version} parameter. All current uses of nodejs-install have been set to use
version '4'.
Change-Id: I73a0c5b801137d8700b16acb8375eaabfb668d5f
This patch renames the npm-install macro to nodejs-install. This
is done to be more descriptive of what the macro actually does,
as well as to reduce confusion between this macro and the
`npm install` command.
Change-Id: Ieda074b9b83da777c378aefc9ab732c5d288a9ee
In order to provide a migration path for projects to move from node4
to node6 and later, this patch renames all npm-based jobs to explicitly
describe which version of node they're running on. The npm-upload builder
was not changed, as this one executes with --no-scripts and therefore
should never depend on the running version of node. Also, it runs on the
release slave, so we cannot dynamically change the nodejs version.
Change-Id: I7eb9cddd689646b8eb8eeee69f0fd5c82d827754
In order to provide a migration path for projects to move from node4
to node6 and later, this patch begins the process of following the
python{version} job pattern by renaming all 'javascript-jobs' to
explicitly describing the engine version that's used.
Change-Id: Id71b4d3f35f29317269ab10a113a497da3a29fb0
This is related to zuulv25, we make sure console-log is the last
publisher to ensure zuul-launcher logs are also uploaded.
Change-Id: I1616b97fad2b97fb9e977ec14543aab4bc673b58
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
If a javascript project generates a subunit file, this should
be uploaded to our log server so that it can be imported into
elasticsearch. This patch ensures that this happens.
Change-Id: I10717f827c70a58a7662842f1f77b1aa5be951af
Upload it to logs instead. This is done because we suspect that
executing cat on a large text file does not play well with
jenkins.
Change-Id: I8512c9b132f2707db265633d5e16378b1d87d4da
Some of our npm builds are breaking because the cache has not yet
been updated by the time the npm-install macro runs. This patch
does two things - ensures that apt-get update is invoked before
prerequisites install, and reorder the builders in our javascript
templates to match that of the other jobs.
Change-Id: I44440c9da33eeb86d703ab4e605c31b02df1335c
This job performs the same work as the js-draft series,
with the added benefit that it does not require knowledge
of the underlying project hierarchy, nor custom hooks into
grunt to generate a release package. It calls the NPM lifecycle
'pack' event, which generates a release tarball. This tarball is
then extracted, and the contents of the configured directory
are then uploaded to docs-draft. A success pattern has been
included, so a passing build will link to the newly constructed
application directly.
Change-Id: I24c55738025284d9e0baef13ec8a9b49a90d4ef7
As clarkb suggested on #openstack-infra at 17:46 2015-10-22:
"maybe we should s/branch-designator/job-suffix/g in all those files
as job-suffix makes more sense considering how branch-designator has been
used".
The rename should make it easier for newcomers to understand
these jobs.
This renames branch-designator everywhere in jenkins/jobs/*.
Change-Id: Icb11271b958d92957fb9907ff03c0b898d7b76fc
We need to be explicit that we want the npm upload job to run on the
release slave otherwise gearman will attempt to run it on the default
slave label which will fail because that job won't be registered.
To do this rename the job so that it matches existing convention which
makes the regex easier to read/write. Then update the reuseable slave
regex to include the job which will force it to run on release slave
without offlining the slave.
Change-Id: I26355680f2d8fc3fa5f514370d1586deb701c21c
This adds the 'site' and 'project' parameters to the javascript
job macros. The markup is copied from the python-jobs.yaml
file, which also orders them tarball first, then console log. While
I doubt the order matters, I've updated it just in case.
Change-Id: I71afd49f218958678a87df6dff272c6f3a29348a
This adds the {name}-npm-publish job. It downloads a tarball built
by npm-publish-tarball and publishes it to npm.
Both of these have been grouped in publish-to-npm templates and/or
groups, and the job has been added to eslint-config-openstack.
Depends-on: Icce880e7f1d0df427e6cf55db6e8cd98e816c141
Change-Id: I1206d002c31d0960f76d65a364c37716dc583430
This adds an npm job that runs npm-pack, and then renames the
tarballs to match our versioning scheme before uploading them to
the tarball host.
The `npm pack` command commits the current project to the local
npm cache directory, which triggers a full lifecycle run (prepublish,
etc). This generates a tarball with all assets listed in the package's
"files" field, inside the npm cache. This tarball is then copied back
to the working directory.
Since the default naming is not helpful, the job then immediately
renames it before the tarballs are published, using our usual
version names.
This job is then used by ironic-webclient. Note that this commit
removes 'bare-precise' as a node option, because Ubuntu precise does
not package a recent enough version of nodejs for any of this.
Change-Id: Ifb7898f136fafae70b5b0cd2727cc478034667c7
This creates a jobs template for various common npm-based
jobs, and a javascript job template that runs two NPM-based
jobs in the gate.
Change-Id: I26fc5b1f780453202af8d1d43575bbf2aa53d27e
Depends-On: Ibd16775609fbfe8f60a14672a27fb44e84fb63b9
StoryBoard and Merlin now use npm-run to handle their tests.
Vinz has no code, and therefore doesn't need these builds.
Change-Id: Ib94ea36e83d06d849ff0ce5f7131fe54c014d7c6
- 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
Selenium tests on Firefox 35.0 failing due to an open FF bug. Switching
to chrome solves this problem, and tests are passing. The FF bug not
affects usage, just the execution of the test environment.
This patch is related:
https://review.openstack.org/#/c/148928/
Change-Id: Iadd71846be7f64c51fb46bfb5c29f56a81c10e9e
The original thought - to use the build to separately upload
config.json for our CORS draft build - didn't work because
of lack of path munging control. Instead we've declared a
separate build target called 'build:draft' that compiles an
appropriate client, which can then be uploaded in one go.
Change-Id: I16ad8fd8b90aca93929e68ef3033715e0666795b
With CORS support in the API, and custom configuration loading in the
webclient, we can now let our js-draft build connect to a live API and
function like a regular client. This change makes the assumption that
any javascript project will include static docs-draft assets in the
$PROJECT_ROOT/test/draft directory, which will be uploaded as-is to the
same destination as the draft build.
Depends on: https://review.openstack.org/#/c/124201
Change-Id: Ia68f1f5e13098faac9e94c9655cf4bd8aaceb02b
This repo was created from filter branching the openstack-infra/
config repo. This process brought a lot of cruft with it in the
form of directories that we no longer need. This patch removes
that cruft so we begin with a tidier repo.
Change-Id: Ibffad1b11c0c5f84eedfb0365369f60c4961a0f3