Commit Graph

47 Commits

Author SHA1 Message Date
Monty Taylor 355f7090a6 Remove zuul v2 and jjb content
It's migrated, it can be removed now.

Depends-On: I6a89752d74ed7424267c3af3937ad01fb4bb8f86
Change-Id: Id67d0149b645bd23e460cef65719541f76f0967b
2017-10-24 08:50:05 +02:00
Monty Taylor b4fd783219
Remove unmatched single quotes from jenkins jobs
The v3 migration script can handle these just fine - but if we go ahead
and remove them the output can be predominantely shell rather than
script.

Change-Id: I440851a0149e1cc7f8c5c6e8a4e3e0b94088ee82
2017-09-20 09:27:26 -05:00
Andreas Jaeger acf7572d10 s/gerrit-git-prep/zuul-git-prep/g
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
2017-04-03 19:36:51 +02:00
Jeremy Stanley 15dd0032df Sign and announce releases to NPM
Add the tarball signing and release announce jobs for node.js v4 and
v6 based releases.

Change-Id: If18496031d04942f8b7b8a9c6e023fb45722e1e9
2017-02-22 15:01:15 +00:00
Andreas Jaeger 58b73f1f72 Stop publishing to previous Cloud sites docs.o.o
The AFS based publishing and serving via files.openstack.org works fine,
we can stop publishing to docs.openstack.org

Change-Id: I4d6b51c7f8065e5cd21942acc64ae56639bb185b
2017-01-13 19:58:02 +01:00
Andreas Jaeger 01053f95b9 Stop publishing to CloudDocs developer.o.o
Stop publishing to CloudDocs developer web page, the AFS based
publishing works just fine.

Change-Id: I36e5cee22748ae63043603ab38d30a5ee4d5045a
2016-12-28 17:19:51 +01:00
Julia Kreger ead4d87143 Removing ironic-webclient gating for retirement
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
2016-12-20 14:15:12 +00:00
Jeremy Stanley da67129d34 Remove pointless tarball-site parameter
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
2016-12-19 14:48:08 +00:00
Andreas Jaeger 4a61bc67f5 Change job-suffix to suffix
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
2016-12-08 22:05:01 +01:00
Andreas Jaeger 9c9eca44f4 Add root-marker for Javascript projects
These two new jobs did not add the .root-marker that is needed for AFS
publishing. Add them.

Change-Id: I695a89e6aeb2e84f116b4c7dfdb966ad6ed3b3cf
2016-10-31 20:13:52 +01:00
Corentin Ardeois 875a3a9d4d Added doc publish for js-generator-openstack
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
2016-10-27 15:45:26 +02:00
Michael Krotscheck d786af20bf Added documentation publish jobs for JavaScript SDK
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
2016-10-27 14:59:53 +02:00
Corentin Ardeois 00ed8dd66e Properly find tarball for NPM packages we publish
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
2016-10-19 17:33:10 -04:00
Corentin Ardeois 7c780ed1a0 NPM Projects: sudo needed for DSVM jobs
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
2016-08-29 11:53:24 -04:00
Michael Krotscheck 79a6ad8c3a Created DSVM Job for NPM Projects
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
2016-08-18 13:27:19 -07:00
Michael Krotscheck 60cfc8db4f Added documentation draft jobs for nodejs-based projects
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
2016-08-09 12:12:29 -07:00
Michael Krotscheck 6abee0d660 Created jobs for nodejs version 6
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
2016-07-27 17:28:17 +00:00
Michael Krotscheck 284b25191c Added version parameter to nodejs jobs
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
2016-07-24 06:18:21 -07:00
Michael Krotscheck 1641ae9dd5 Reorganized javascript.yaml
Jobs are now grouped by 'generic', 'node4', and 'deprecated'.

Change-Id: I0208ea668a700af6269e50d59be2be02bcc009c3
2016-07-20 06:55:52 -07:00
Dong Ma cc6c8b6f73 nodejs-install macro can install different versions of node
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
2016-07-20 06:54:06 -07:00
Michael Krotscheck 2c9ce1c3b5 Renamed npm-install macro to nodejs-install
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
2016-07-20 06:53:36 -07:00
Michael Krotscheck c4d732aa21 Renamed *-npm-* jobs to *-nodejs4-npm-* jobs
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
2016-07-20 06:53:23 -07:00
Michael Krotscheck b4a5c421be Renamed javascript-jobs to nodejs4-jobs
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
2016-07-20 06:28:08 -07:00
Paul Belanger 322d7e5dfb
Ensure console-log is our last publisher
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>
2016-06-16 18:32:16 -05:00
Michael Krotscheck 926216a560 Upload karma.subunit to log server
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
2016-06-03 15:38:55 +00:00
Michael Krotscheck 8f9ef6c442
NPM Jobs now run on Xenial
This updates the our javascript builds to run on xenial.

Change-Id: I8b0c78b28cf04607862e2882fb0fcdec816c5b81
2016-05-04 13:52:52 -07:00
Michael Krotscheck af693d57c6
Do not cat npm-shrinkwrap.json
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
2016-04-07 13:30:42 -07:00
Michael Krotscheck 72d2545763
Reordered builders in npm builds
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
2016-04-06 20:03:12 -07:00
Jenkins ca577d462d Merge "gate-{name}-npm-run-{command}: Use ubuntu-trusty" 2016-03-09 21:04:54 +00:00
Andreas Jaeger 533e5451e0 gate-{name}-npm-run-{command}: Use ubuntu-trusty
Convert job from bare-trusty to ubuntu-trusty.

Change-Id: Id53a61c1a50db730d9a050f41c47c992fa9f4e78
2016-03-09 21:19:37 +01:00
Andreas Jaeger f73fdf20cc Remove wrong node declaration from javascript
The job {name}-js-release-{job-suffix} had two node declarations, remove
the extra one.

Change-Id: Ic2ceb249fd9ab246152b6b2e8c1df245f3994e56
2016-03-09 21:03:25 +01:00
Andreas Jaeger 2e1bd0c58a Convert javascript jobs to use ubuntu-trusty
Change all jobs that currently use bare-trusty to use ubuntu-trusty.

Change-Id: Ib68a098e26c5008fba7c0ea3df37435cd71e5032
2016-03-09 10:56:59 +01:00
Michael Krotscheck 6cbb920ed4 Fixed #! linein javascript jobs
Turns out that scripts work better with correct #!/bin/bash
references.

Change-Id: I9ae6af660f3cc57a503a514cf8386b693e80de93
2016-02-10 20:10:27 -08:00
Michael Krotscheck 6f28415a8f Added *-npm-publish-draft job
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
2016-02-10 06:08:27 -08:00
Andreas Jaeger 8828fb1a0a Print the JJB template name in some jobs
Print JJB template name in more job templates so that it's easy to
identify them.

Change-Id: Ia6793a0ae5bed9e655538985f8d0f5ece82774d8
2015-11-25 20:39:22 +01:00
Andreas Jaeger bd882cdd7a s/branch-designator/job-suffix/g
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
2015-10-28 07:50:13 +01:00
Clark Boylan 845b4d0718 Run npm upload job on relase slave
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
2015-10-07 15:56:50 -07:00
Michael Krotscheck fcd02f1c61 Specify tarball site
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
2015-10-07 14:00:02 -07:00
Michael Krotscheck b22646ccb3 Added npm publish job.
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
2015-09-22 11:41:12 -07:00
Michael Krotscheck 597a0b965b Added npm-publish-tarball
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
2015-09-22 11:39:48 -07:00
Michael Krotscheck 14cf70fb33 Added javascript job template, included in refstack.
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
2015-06-05 12:06:56 -07:00
Michael Krotscheck 90072bc904 Deprecated js-test build.
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
2015-06-01 17:19:26 +00:00
Michael Krotscheck e6d20ad130 Add NPM Command Execution as a Build Target
- 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
2015-04-06 13:13:57 -07:00
Marton Kiss a90ce7d238 Added chrome to javascript selenium test
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
2015-01-21 16:44:42 +01:00
Michael Krotscheck a8f02ecb32 Call build:draft instead of build for js-draft build
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
2014-09-29 18:28:19 -07:00
Michael Krotscheck 8c2da93198 Upload custom configuration for js-draft build.
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
2014-09-27 12:03:22 -07:00
Anita Kuno 1d21cd635f Reorganizes project-config
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
2014-09-25 11:41:04 -04:00