Commit Graph

11 Commits (master)

Author SHA1 Message Date
Monty Taylor 349991c568 Update node to v14 and update to new jobs
v14 is the latest lts. Let's use it.

Also - rename the jobs to make it clear what they're doing, and
add a dashboard job that points at opendev's multi-tenat api too.

There are new jobs that default to latest node LTS and auto-detect
yarn vs npm. Update to use them.

Change-Id: I5717edea2cd09acc5bce673c38bbe7fa8057a376
2020-05-20 14:25:47 -05:00
Tristan Cacqueray 04a15eeef7 web: use PUBLIC_URL instead of package.json patch
This change simplify dashboard run playbook to fix sub-url serving of
ci build.

Change-Id: I58db8958894f2b51cca03752d9913ca11df5bba4
2018-10-11 07:33:30 -07:00
Tristan Cacqueray 8b0a30ce3d web: fix zuul-build-dashboard homepage setting
A previous change broke the homepage update for zuul-build-dashboard
ci results.

Change-Id: Ie2344070425a2d0edab9c3edb15b0e2b577a02ce
2018-10-10 03:05:39 +00:00
Tristan Cacqueray 68d1189871
Revert "Revert "web: rewrite interface in react""
This reverts commit 3dba813c64.

Change-Id: I233797a9b4e3485491c49675da2c2efbdba59449
2018-10-06 10:42:31 -05:00
James E. Blair 3dba813c64 Revert "web: rewrite interface in react"
Revert "Fix publish-openstack-javascript-content"

This reverts commit ca199eb9db.
This reverts commit 1082faae95.

This appears to remove the tarball publishing system that we rely on.

Change-Id: Id746fb826dfc01b157c5b772adc1d2991ddcd93a
2018-09-29 11:51:43 -07:00
Tristan Cacqueray 1082faae95 web: rewrite interface in react
This change rewrites the web interface using React:

Change-Id: Ic6c33102ac3da69ebd0b8e9c6c8b431d51f3cfd4
Co-Authored-By: Monty Taylor <>
Co-Authored-By: James E. Blair <>
2018-09-27 02:14:46 +00:00
Monty Taylor 85c70e1fab
Fix web content copying in multi dashboard job
The existing code results in:

  cp: omitting directory 'src/'

because it's picking up the t subdir when trying to copy everything.
Update it to be more smarter about which things to copy.

Also, add a shell variable to make the shell snipped easier to read.

Change-Id: Ib61110cfa10e137c3d780e8529e64655b64c3cce
2018-08-10 16:15:49 -05:00
Monty Taylor 1703ed4d36
Use copy instead of symlink for multi-tenant dashboard
We currently use symlink loops to allow the multi-tenant dashboard to
work properly. With the move to swift, that's gonna be no bueno. Just
copy the html/js files instead of symlink. There's not that many of them.

Change-Id: I8a71abe4329cff817beca71e61127967b5b8aeb5
2018-07-31 12:32:33 -05:00
Monty Taylor b575389633
Revert "Revert "Upgrade from angularjs (v1) to angular (v6)""
This reverts commit fc1a71f69f.

This time with better handling for base hrefs.

Change-Id: I530b6ff0a4da0546584d0c93bf6e0bb716a9dbc3
2018-06-27 08:37:25 -05:00
James E. Blair fc1a71f69f Revert "Upgrade from angularjs (v1) to angular (v6)"
This reverts commit 36aecc1229.
This reverts commit 683f50ed55.

This caused to attempt to GET "https://api/status".

Change-Id: Ib25356f7ea5bfeec84e91195ac161d497f74d73d
2018-06-26 17:55:19 -07:00
Monty Taylor 36aecc1229
Upgrade from angularjs (v1) to angular (v6)
Since we got started in all of this angular business back in the good
old storyboard days of yore, the angular folks cut a major release
(ok, 5 major releases). The old v1 angular is known as angularjs now, and
starting at v2 the new codebase is just 'angular'. While angularjs is
still supported for now, angularjs vs. angular seems to be more like
zuulv2 vs. zuulv3 - the developers really want people to
be on the >=v2 series, and they spent a good deal of time fixing issues
from the original angularjs.

The notable differences are the angular is a bit more explicit/verbose,
and that it uses typescript instead of plain javscript. The increased
verbosity wasn't the most popular with some fans of the original angularjs,
but for those of us who aren't breathing it every day the verbosity is

There is a recommended code organization structure which has been used.

For zuul, there are notable changes to how the http client and location
service work, so the code related to those has been reworked.

$http has been reworked to use HttpClient - which defaults to grabbing
the remote json and which can do so in a typesafe way.

$location has been reworked to use the angular-routing module, which allows us
to pull both URL and Query String parameters in a structured manner. We
can similary pass query parameters to our output http requests.

Since routing is the new solution for $location, extract the navigation
bar into a re-usable component.

Add tslint config for the typescript. Keep running eslint on our
remaining plain javascript files, at least until we've got them all
transitioned over. Use the angular tslint config as a base, but also
adopt the rule from standardjs that says to not use semicolons since
they are not actually needed.

The main.ejs file is a webpack template, not an angular template. Move
it to web/config with the other webpack files to make that clear.

Add a job that builds the zuul dashboard with the ZUUL_API_URL set to
point to software factory. This should allow us to see a live test with
a multi-tenant scheme.

Change-Id: Ida959da05df358994f4d11bb6f40f094d39a9541
Co-Authored-By: Tristan Cacqueray <>
Co-Authored-By: Artem Goncharov <>
2018-06-08 09:09:35 -05:00