Commit Graph

169 Commits

Author SHA1 Message Date
Riley Bauer b1a6848308 Only render JSON objects and arrays, not primitives (#1366) 2019-05-22 13:18:27 -07:00
Eran Nussbaum 2da723c2fa Add HTTP/HTTPS support in FE (#1339)
* Add HTTP/HTTPS support in FE

* Fix typo (HTTP instead of HTTPS)
2019-05-19 21:41:11 -07:00
Riley Bauer be4febc562 Trims the file extension from suggested pipeline names (#1349) 2019-05-17 13:28:11 -07:00
Riley Bauer 38540d7621 Pretty print inputs and outputs json (#1348)
* Pretty prints pipeline step input/outputs if they are JSON

* Further cleanup and added tests
2019-05-17 12:38:12 -07:00
Riley Bauer 814fe28511
Adds metrics table to Compare page, creates Metric component (#1284)
* Adds metrics table to Compare page, creates Metric atom

* Cleanup

* Adds tests for metric component

* Adds CompareUtils tests

* Adds MetricUtils tests

* Adds compare page tests
2019-05-16 15:46:15 -07:00
Riley Bauer 49aa8c7f7d Removes redundant npm install from FE Dockerfile (#1332) 2019-05-14 21:28:16 -07:00
Eterna2 4eeeb6e224 [Frontend] minio client in API server can be configured with environment variables (#1324)
* kfp frontend API service can configure minio client params thru env vars

* minio endpoint is composed from host and namespace to support k8s yaml

* Added kustomize patch for pipeline-ui deploy
2019-05-14 17:38:18 -07:00
Riley Bauer 1ab4315d0d Shows link to Stackdriver logs if logs retrieval fails and cluster is running in GKE (#1310)
* Shows link to Stackdriver logs if logs retrieval fails and cluster is running in GKE

* Add additional link for new k8s stackdriver resource names

* Fix spacing
2019-05-13 12:35:10 -07:00
Jiaxin Shan 5c850b92b1 Frontend - Add support for artifacts stored in S3 (#1278)
* Add s3 and local support for artifact viewer

* Remove local file support and use ViewerCRD instead

* Fix condition failed tests

* Keep using minio for metadata manifests
2019-05-06 13:47:42 -07:00
Riley Bauer 25cb766dae Adds a toggle between one-off and recurring runs to NewRun page (#1274)
* Allows toggling between one-off and recurring runs in the new run page

* Clean up and adds tests

* Fix integration test - account for extra field in form

* Cleanup and PR comments
2019-05-04 11:29:37 -07:00
Riley Bauer 41b8fc26b8
Sets the background color for KFP pages (#1281)
This will prevent the pages from appearing gray when viewed within the
iframe of the greater Kubeflow console.
2019-05-03 13:19:17 -07:00
Riley Bauer bcca4ed67a Pulls most functions out of Status and into StatusUtils. Fixes run duration bug (#1262) 2019-05-02 01:28:18 -07:00
Riley Bauer 3289f43ef8 Fixes sorting in PagedTable so that it properly alternates between ascending and descending (#1261) 2019-05-02 00:42:16 -07:00
Ilias Katsakioris 07cb50ee0c Extend the DSL to implement the design of #801 (#926)
* SDK: Create BaseOp class

* BaseOp class is the base class for any Argo Template type
* ContainerOp derives from BaseOp
* Rename dependent_names to deps

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: In preparation for the new feature ResourceOps (#801)

* Add cops attributes to Pipeline. This is a dict having all the
  ContainerOps of the pipeline.
* Set some processing in _op_to_template as ContainerOp specific

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Simplify the consumption of Volumes by ContainerOps

Add `pvolumes` argument and attribute to ContainerOp. It is a dict
having mount paths as keys and V1Volumes as values. These are added to
the pipeline and mounted by the container of the ContainerOp.

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Add ResourceOp

* ResourceOp is the SDK's equivalent for Argo's resource template
* Add rops attribute to Pipeline: Dictionary containing ResourceOps
* Extend _op_to_template to produce the template for ResourceOps
* Use processed_op instead of op everywhere in _op_to_template()
* Add samples/resourceop/resourceop_basic.py
* Add tests/dsl/resource_op_tests.py
* Extend tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Simplify the creation of PersistentVolumeClaim instances

* Add VolumeOp: A specified ResourceOp for PVC creation
* Add samples/resourceops/volumeop_basic.py
* Add tests/dsl/volume_op_tests.py
* Extend tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Emit a V1Volume as `.volume` from dsl.VolumeOp

* Extend VolumeOp so it outputs a `.volume` attribute ready to be
  consumed by the `pvolumes` argument to ContainerOp's constructor
* Update samples/resourceop/volumeop_basic.py
* Extend tests/dsl/volume_op_tests.py
* Update tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Add PipelineVolume

* PipelineVolume inherits from V1Volume and it comes with its own set of
  KFP-specific dependencies. It is aligned with how PipelineParam
  instances are used. I.e. consuming a PipelineVolume leads to implicit
  dependencies without the user having to call the `.after()` method on
  a ContainerOp.
* PipelineVolume comes with its own `.after()` method, which can be used
  to append extra dependencies to the instance.
* Extend ContainerOp to handle PipelineVolume deps
* Set `.volume` attribute of VolumeOp to be a PipelineVolume instead
* Add samples/resourceops/volumeop_{parallel,dag,sequential}.py
* Fix tests/dsl/volume_op_tests.py
* Add tests/dsl/pipeline_volume_tests.py
* Extend tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Simplify the creation of VolumeSnapshot instances

* VolumeSnapshotOp: A specified ResourceOp for VolumeSnapshot creation
* Add samples/resourceops/volume_snapshotop_{sequential,rokurl}.py
* Add tests/dsl/volume_snapshotop_tests.py
* Extend tests/compiler/compiler_tests.py

NOTE: VolumeSnapshots is an Alpha feature at the time of this commit.

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* Extend UI for the ResourceOp and Volumes feature of the Compiler

* Add VolumeMounts tab/entry (Run/Pipeline view)
* Add Manifest tab/entry (Run/Pipeline view)
* Add & Extend tests
* Update tests snapshot files

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* Cleaning up the diff (before moving things back)

* Renamed op.deps back to op.dependent_names

* Moved Container, Sidecar and BaseOp classed back to _container_op.py
This way the diff is much smaller and more understandable. We can always split or refactor the file later. Refactorings should not be mixed with genuine changes.
2019-04-25 10:40:48 -07:00
Riley Bauer 4de20179c6 Update to version 3.0.2 of npm package 'extend' (#1211)
* Update to version 3.0.2 of npm package 'extend'

* Use 'new' with Storage
2019-04-24 10:24:10 -07:00
Alexey Volkov 173ecbda4c Marked all scripts as executable (#1177) 2019-04-23 16:12:00 -07:00
Riley Bauer b29266351e Allow creating runs without experiments (#1175)
* Adds 'Create run' button to experiment list / all runs page

* Add run without experiment and filtering to FE integration test

* Update snapshots

* Add refresh and wait to integration test

* Adjust

* Adjust

* Don't exit integration test early if npm test fails

* PR comments

* TEMP - take screenshots to debug integration test

* Store screenshots

* Remove create run without experiment integration test for now as it fails due to the default experiment being deleted at the end of the API initialization and integration test suites
2019-04-22 11:59:45 -07:00
Riley Bauer 72b0914868
Fixes deletion of recurring runs (#1185)
* Fixes deletion of recurring runs and redirects after deleting pipeline from pipeline details page

* Add comment for deletion on recurring run and pipeline details pages

* Remove refreshOnComplete flag from buttons
2019-04-22 10:45:30 -07:00
Riley Bauer ce8071566f
Removes unnecessary API calls (#1144)
From the ExperimentDetails and ExperimentList pages, calls to getRun and
getExperiment are removed.

From the RunList page, calls to getRun are removed.
2019-04-11 17:41:08 -07:00
Riley Bauer c5a727abf7 Removes link to Kubeflow privacy links as KFP no longer runs Spartakus (#1074) 2019-04-01 11:36:34 -07:00
Riley Bauer 94925ff2bd Add run termination controls to ui (#1039)
* Update swagger definitions

* WIP - Adds ability to terminate runs to frontend

* Update snapshots

* Adds tests. Also changes warning message color to orange rather than red

* Remove refresh button from run details page

* Elaborate terminate confirmation message

* Minor fixes

* Remove references to refresh button from integration tests
2019-04-01 10:18:35 -07:00
IronPan 2bde76092a remove jupyter hub link from UI (#1046)
* remove jupyter hub link from UI

* remove jupyter hub link from UI

* remove jupyter hub link from UI
2019-03-29 22:49:08 -07:00
Riley Bauer afcecbb480 Improve runtime graph exit-handler node name (#1059)
* Gives the exit-handler node in a runtime graph a human readable name

Also adds tooltips for full node names in graphs.

* Adds tests
2019-03-28 21:24:12 -07:00
Riley Bauer a60355abac Update sidebar styling (#1010)
* Update sidebar styling

* Update tests
2019-03-21 10:21:40 -07:00
Yasser Elsayed c0303b7d46 Add code formatting to markdown viewer (#935)
* add code formatting to markdown viewer

* tests
2019-03-08 14:20:55 -08:00
Yasser Elsayed 473c4be97c Add markdown viewer (#897)
* working, needs tests

* tests

* add output artifact loader tests

* cleanup new experiment tests

* pr comments
2019-03-04 16:53:01 -08:00
Riley Bauer 85de728236 Support rendering recursive static DAGs (#845)
* Adds support for rendering recursive pipelines to the StaticGraphParser

* Adds a recursive pipeline to the list of mocks

* Fixes recursive graph rendering under new styling

* Adds additional comments and surfaces pipeline yaml error to users

* Remove unnecessary comment
2019-02-25 17:48:26 -08:00
hongye-sun 749d0aab9f Update swagger codegen version (#839) 2019-02-21 12:21:38 -08:00
Riley Bauer a8b9107878 Update graph styling (#829)
* Updates styling for the graphs

* Break all diagonal edges into vertical and horizontal components

* Checkpointing. A lot of minor adjustments being made

* Change graph rendering to only use horizontal and vertical lines for
edges. Previously diagonal edges are converted into two vertical edges
and one horiztonal

* Small cleanup

* Hovering over node now highlights all incoming and outgoing edges, as does selecting a node

More fixes, stop stacking starting edges

* Clean up

* Remove edge starting circle code

* Returns the DAG to using arbitrary angles rather than right angles

* Adds small vertical segment to end of all edges

* Significant clean up and updating tests

* A little more clean up and adding tests for the new Status util function

* One more test for Status

* Increase node font weight

* PR comments

* A little more cleanup in Graph
2019-02-21 11:34:41 -08:00
Riley Bauer 2ec15c271e
Sets 'Choose file' button width to avoid wrap (#830)
* Sets 'Choose file' button width to avoid wrap

* Switch to white-space nowrap
2019-02-19 13:40:28 -08:00
Riley Bauer f07d578d64
Updates frontend to Typescript to 3.3.1 (#772)
* Updates Typescript to 3.3.1 and updates code around CustomTable customRenderer to make better use of FunctionComponent typings

* Remove extra afterEach from merge

* Further merge clean-up
2019-02-14 11:54:45 -08:00
Elvira d4c087fd78 Fixed validation in new run form when filling name then pipeline (#826) 2019-02-13 16:19:35 -08:00
Yasser Elsayed 603597d65b Archive runs UI (#748)
* update ts definitions from swagger

* fix case

* Update run.go

* storageState -> storage_state

* storageState -> storage_state

* wip mock backend changes, need to use filter for storagestate

* filter_by -> filter, remove options handlers

* show only available runs, mock middleware support

* add basic Archive page with runs

* fixes, added button to sidenav

* fix generated ts filter-related changes in definitions

* storageState -> storage_state

* fix after rebase

* cleanup

* use notequals archived instead of equals available

* augment runs request filter with storage state

* fix tests

* treat available runs as unarchived

* refactor buttons to separate file

* experiment details buttons, remove test console log

* cleanup

* added actions to Buttons module

* tests

* cleanup

* add messages to dialogs

* add archive/restore button to run details

* archive breadcrumb

* mention run will not stop when archiving

* pr comments
2019-02-13 13:50:12 -08:00
Riley Bauer 600acbdd23
Updates lodash to version 4.17.11 (#803)
* Pin lodash version

* Commit updated package-locks
2019-02-13 10:40:21 -08:00
Yasser Elsayed e29b1819b0 Add UI actions to Buttons module (#758)
* add actions to Buttons module

* pr comments
2019-01-31 15:46:03 -08:00
Riley Bauer 423f33c4bd Regenerate frontend API files now that listCount APIs are merged (#757)
* Regenerate frontend swagger-generated API files now that listCount APIs are merged

* Manually remove 'url' import from filter/api.ts
2019-01-31 14:48:27 -08:00
Riley Bauer 2c6ad29737 Improve runtime graph starting and running experience (#734)
* Improve runtime graph starting and running experience

- displays spinner when no nodes have started
- adds info message to bottom of runtime graph indicating that it is
runtime and that the graph will update over time
- adds placeholder nodes at end of graph to indicate future progress

* Update test snapshots

* Fix bug with virtual nodes, and add transition to graph

* PR comments, updating tests

* Moves IconWithTooltip to atoms/ and adds tests

* Update copyright and add further tests
2019-01-30 14:21:31 -08:00
Yasser Elsayed be19cbc259 Refactor UI buttons to lib file (#737)
* refactor buttons to lib file

* Add license header

* fix e2e test
2019-01-28 11:27:45 -08:00
Riley Bauer 5beffef614 Auto-refreshes the run details page (#722)
* Auto-refreshes the run details page

Auto-refresh is paused when the window loses focus (blur) and is resumed
upon re-focus. Autorefresh is permanently terminated if the run has
stopped due to failure, error, being skipped, or succeeding.

* Adds tests for Status.hasCompleted

* Clean up and PR comments
2019-01-24 10:55:02 -08:00
Ajay Gopinathan 578e8231d0 Update all Pipelines CRD versions to v1beta1. (#681) 2019-01-17 19:35:51 -08:00
Riley Bauer ce91c085d0 Include date in run status tooltips (#671)
* Adds run (created_at) date to tooltip for experiment last 5 runs

* Adds start and end date to tooltip for status icons in runtime graph

* Add start date to RunDetails status tooltip

* Mock formatDateString util function to avoid mismatch between local and CI test environments
2019-01-15 12:47:16 -08:00
Riley Bauer 065e1f6e16 Adds a link in the side nav to the KF 'usage-reporting' doc (#682) 2019-01-15 11:39:01 -08:00
Riley Bauer 504b89620e Add build version to side nav (#670)
* Makes KF logo a button and adds tooltips to sidenav when collapsed

* Adds build version, date, and link to side nav. Still needs tests

* Cleanup and PR comments
2019-01-14 10:08:22 -08:00
Yasser Elsayed df635af409 Support filtering on storage state (#629)
* filter on storage state

* fix case

* Update run.go

* storageState -> storage_state

* ignore generated ts client libs

* remove url import to make tslint happy
2019-01-11 11:01:01 -08:00
Riley Bauer 705d00038c Add simple filtering by name to CustomTable (#656)
* Adds simple filtering by 'name' to CustomTable

* Update tests

* Adds new tests for filtering the CustomTable

* Filter using 'is_substring' rather than 'equal'

* Clean up and some comments

* Add snapshot to handleFilterChange test
2019-01-10 15:38:42 -08:00
Riley Bauer d9665549ce Use "create" rather than "start" except when initiating a run (#650)
* Uses 'Create' for all actions that lead to creation flow, or result in a static object (experiment). 'Start' is used solely for initiating runs

* Update integration test
2019-01-09 11:56:45 -08:00
Yasser Elsayed 76f8b6b77b Correctly ignore src/apis when building frontend (#654) 2019-01-08 19:05:01 -08:00
Riley Bauer 2158d23279 Updates material-ui and react npm libraries (#630)
* Updates material-ui and react npm libraries

* Update failing BusyButton snapshots

* Reduce material-ui version to 3.7.1 to avoid known issue with 3.8.1
2019-01-04 16:07:44 -08:00
Yasser Elsayed d4d4f62056 Compare perf - pure components, disable ROC curve thumbnail animations (#598)
* pure components, no animations for roc curve thumbnails

* fix snapshot tests

* set state once when loading parameters

* manually check plot card pros/state to make it pure
2019-01-04 11:54:41 -08:00
Ajay Gopinathan 8616398602 Encode filter parameter as a base64-encoded JSON string in List requests (#563)
* Make all ListXXX operations use POST instead of GET.

Generate new swagger definitions and use these to generate the frontend
APIs using `npm run apis`.

This is to support filtering in List requests, as the current
grpc-gateway swagger generator tool does not support repeated fields in
requests used in GET endpoints.

* Use base64-encoded JSON-stringified version of Filter instead.

This lets us keep filter as a simple parameter in the ListXXX requests,
and gets around having to use POST for List requests.

* refactor filter parsing to parseAPIFilter and add tests

* Hack to ensure correct Swagger definitions are generated for Filter.

* Fix merge conflicts with master after rebase

* fix indentation

* Fix hack so frontend apis compile.

* print failing experiments

* try print again.

* revert experiment_api_test

* Use StdEncoding for base64 encoding

* Fix nil pointer dereference error caused err variable shadowing
2019-01-02 13:03:14 -08:00
Chen Zhiwei 3ac8df078b update dockerfile and add build step of frontend (#567) 2018-12-26 12:32:15 -08:00
Yasser Elsayed 09dbf5ff73 Fix mock data after proto changes (#564) 2018-12-18 14:57:07 -08:00
Riley Bauer 58bb9afd1b Allows uploading a pipeline via a URL (#554)
Still needs verification on real cluster
2018-12-18 14:14:13 -08:00
Riley Bauer 302e93ce99 Fixes await bug in create new run (#553) 2018-12-17 21:52:23 -08:00
Riley Bauer 10c009d431 Stops k8s-helper from crashing when pod has no logs (#540) 2018-12-14 17:24:49 -08:00
Riley Bauer 230043a277 Hides TaskGroup nodes from runtime graphs and removes unnecessary edges in static graphs (#541)
* Hides TaskGroup nodes from runtime graphs and removes unnecessary edges in static graphs

* Add TaskGroup to NodeType definition
2018-12-14 16:17:06 -08:00
Riley Bauer 6d8db6c45d Regenerate swagger APIs (#524) 2018-12-12 13:47:42 -08:00
Riley Bauer d116120d41 Add new run button to pipeline details (#507)
* Add 'new run' button to Pipeline details page

Needs test.

* Adds tests for the NewRun page. Still needs tests for the PipelineDetails page

* Adds tests for the PipelineDetails page

* Use fromRunId as query param for embedded pipelines instead of pipelineFromRun

* Refactors some NewRun tests and separates embedded pipeline handling in NewRun
2018-12-12 12:33:49 -08:00
Yasser Elsayed ee8c38fd4d Show all run outputs in dedicated tab (#496)
* wip, showing outputs with no labels

* showing outputs with step labels

* wip fixing tests

* fix tests

* test new functionality

* global tree

* add empty message

* pr comments
2018-12-07 15:55:30 -08:00
Riley Bauer 114c99d808 Add experiment selector to NewRun (#486)
* Adds an experiment selector to the new run page. Needs tests

* Adds an experiment selector to the new run page. Needs tests

* Adds tests for the new experiment selector in NewRun

* Rename PipelineSelector -> ResourceSelector since it handles experiments as well

* Makes ResourceSelector more abstract. No longer coupled to experiments and pipelines

* PR comments, NewRun clean-up

* Moves resourceToRow function into ResourceSelector

* Fix e2e test
2018-12-07 13:50:01 -08:00
Riley Bauer 4c5e6291c5 Adds tests for the run comparison page (#469)
* Adds tests for the run comparison page

* Rebase cleanup

* Remove Compare from CollapseButton props

* Minor test cleanup
2018-12-05 10:53:35 -08:00
Yasser Elsayed 76bcd1ac85 return string from pod logs (#476) 2018-12-04 23:15:18 -08:00
Yasser Elsayed 114a84740e
Fix serializing cloned embedded pipeline (#474)
* fix serializing cloned pipeline

* fix tests

* fix mock backend data

* add View pipeline link to new run page

* fix test snapshots
2018-12-04 21:33:47 -08:00
Yasser Elsayed efcb7df1bf Support cloning runs created with an embedded pipeline (#465)
* show radio buttons when it has cloned run pipeline

* clone working

* tests
2018-12-04 15:38:38 -08:00
Yasser Elsayed 9718826cba Show pipeline details embedded in runs (#447)
* show 'View pipeline' button when no pipeline id is present

* wip pipeline details to show pipeline from run spec

* pipeline details working, still need to show breadcrumbs

* breadcrumbs fixed, needs testing

* fix tests

* add more tests to cover changes

* make sure only pipeline is defined

* pr comments
2018-12-04 11:13:27 -08:00
Yasser Elsayed 351d9cc5ba Add loading spinner to custom table while loading items (#405)
* add loading spinner to cusom table

* tests

* pr comments
2018-12-03 11:46:05 -08:00
Yasser Elsayed 71def98d95 fix tb viewer test (#427) 2018-11-30 01:06:14 -08:00
Riley Bauer 1da72fcef5 Adds tests for the ExperimentDetails page (#404)
* Adds tests for the ExperimentDetails page

* PR comments. move tree unmount to afterEach
2018-11-28 00:26:18 -08:00
Yasser Elsayed db772d51bc PipelineDetails page tests (#380)
* wip pipeline details tests

* pipeline details tests

* safe load template

* add close panel test

* pr comments
2018-11-27 23:31:19 -08:00
Yasser Elsayed 42ccde1dc2 RunDetails test suite, bug fixes (#394)
* wip run details tests

* wip run details tests

* more tests

* more tests, fix showing/hiding message banner

* remove extra import
2018-11-27 19:06:52 -08:00
Chris Van Pelt f3789fba64 Add support for minio hosted artifacts (#389)
* Add support for minio artifacts

* Add new tests for parity
2018-11-27 17:11:20 -08:00
Riley Bauer f59c226bfe Disables back button when there is no history (#377)
This can happen whenever a user opens up a page from a URL.

A common way to hit this is to create a run from a notebook and click the link to see it in the UI.
2018-11-26 12:09:39 -08:00
Yasser Elsayed b8e185df60 PipelineSelector, RecurringRunsManager, and 404Page tests (#319)
* pipeline selector tests

* 404 page tests

* wip more fixes

* recurring runs manager tests

* restore refresh, add test for it

* pr comments

* fix tests after rebase
2018-11-26 08:07:46 -08:00
Riley Bauer 1e5ad47085 Fixes issue with footer overlapping side panel and fixes summary layout (#353)
* Fixes issue with footer overlapping side panel and fixes summary layout

* Use font-family instead of font
2018-11-21 14:57:25 -08:00
Yasser Elsayed d313a9c623 PipelineDetails cleanup (#350)
* refactor out selected node info

* refactor details table title

* refactor out side panel

* cleanup

* pr comments
2018-11-21 12:02:04 -08:00
Yasser Elsayed 7a89c98f0a Add run status to page title (#287)
* dedicated pageTitle toolbar prop

* fix tests

* add run status icon

* Add parentheses

* fix tests after merge

* fix tests
2018-11-20 19:14:31 -08:00
Riley Bauer 18f54d919c Changes "Hide" button on Pipeline summary to fully hide the paper card (#305)
* Changes "Hide" button on Pipeline summary to fully hide the paper card

Now, when the summary is hidden, a "Show summary" button will appear at the bottom of the graph to reopen the card.

Additionally, added a small note reading "Static pipeline graph" to the bottom of the graph

* Clean up
2018-11-20 18:31:42 -08:00
Yasser Elsayed 003a8c8d11
Use latest npm and node on travis, fix tests (#317)
* use latest npm, node

* fix tests
2018-11-19 15:40:59 -08:00
Alexey Volkov 906ad680ed SDK/DSL/Compiler - Improved compilation of dsl.Conditional - UX support done (#177)
* Fixed compilation of dsl.Conditional
The compiler no longer produced intermediate steps.

* Got rid of _create_new_groups

* Changed the sub_group.type check

* Update frontend handling of graphs (#293)

* Updates the frontend to correctly parse the new format of conditional pipelines

* WIP - Assume tasks and templates don't share names

* Greatly simplifies graphing of conditional and non-conditional pipelines

* Adds/updates StaticParser tests

* Give nodes unique names
2018-11-19 14:01:10 -08:00
Riley Bauer a807ad304c Update button styling for new experiment and new run (#264)
* Update button styling for new experiment and new run

* Add parantheses to condition
2018-11-19 11:53:40 -08:00
Riley Bauer b2c3440402 Allows copying of pipeline source (#302) 2018-11-16 15:15:14 -08:00
Yang Pan 24d69cbb81 Update tensorboard spec (#283)
- Use generateName instead of name
- remove selector
2018-11-15 22:34:35 -08:00
Yasser Elsayed c9152fe685 upgrade @kubernetes/client-node (#271) 2018-11-15 16:51:27 -08:00
Yasser Elsayed 36dc8686ce Refactor RunList, add test suite (#127)
* refactor extractMetricMetadata into RunUtils

* hard code CREATED_AT as initial sort key

* refactor run list to reuse DisplayRun computation code, tests

* pr comments

* use setStateSafe
2018-11-14 20:06:14 -08:00
Yang Pan 775bfcb3e1 attach service account to tensorboard pod (#273) 2018-11-14 19:03:54 -08:00
Yasser Elsayed 74270cb397 Recurring run details tests (#202)
* wip RecurringRunDetails tests

* more recurring run details tests

* more tests, covering all essential flows

* pr comments

* pr comments
2018-11-14 17:21:09 -08:00
Riley Bauer 4550513ed0 Adds NewRun tests (#242)
* Adds tests for the NewRun page

* Add more tests

* Adds many more tests, cleans-up PipelineSelector a bit, and fixes bug in Utils.ts

* Update create run button ID in e2e test

* Test clean-up and PR comments
2018-11-14 16:31:21 -08:00
Yasser Elsayed 8793d0e739 404 page (#135)
* 404 page

* add function signatures
2018-11-13 00:12:20 -08:00
Riley Bauer 5d9f85c2a8 Removes the magic in Input, reducing it to a styled TextField (#150)
* Removes the magic in Input, rducing it to a styled TextField

* Automatically use height='auto' for multiline inputs
2018-11-10 15:56:57 -08:00
Yasser Elsayed 006433e66d Add coveralls for frontend code coverage (#176)
* coveralls

* add coverage in travis

* rename npm scripts

* test failure

* fix test

* only run test:coveralls, add coveralls badge
2018-11-09 12:20:21 -08:00
Riley Bauer 8c2110d2eb Sets min height and min width of all viewers to 80% when fullscreen (#167) 2018-11-08 23:50:28 -08:00
Yasser Elsayed 3aa7643c64 Require full function signatures (#136)
* add function signatures

* Tests
2018-11-08 11:58:19 -08:00
Riley Bauer b782e5f5f8 Consolidate UI of toolbars for AllRunsList and ExperimentList (#124)
* Keep Experiments button in sidenav highlighted on non-pipeline pages

* Revert IDs in SideNav
2018-11-08 10:33:30 -08:00
Riley Bauer 332f19e80f Adjusts the size and position of the pipelines icon (#121) 2018-11-08 10:00:48 -08:00
Riley Bauer 5746d22ef0 Prevents '0' from showing up on RunDetails config tab when pipeline has no parameters (#147) 2018-11-08 07:55:51 -08:00
Yang Pan 69f8034ac6 add tensorboard routing rule (#143)
* add tensorboard routing rule

* rename tb routing rule

* address comments

* remove debugger

* fix url prefix
2018-11-07 17:50:37 -08:00
Riley Bauer 7657f7859a Fixes bug where a new recurring run has no default trigger (#144)
* Fixes bug where a new recurring run has no trigger if user never interacted with the trigger form

* Update snapshot tests
2018-11-07 17:36:40 -08:00
Ajay Alfred d1c38e544f Expanded row changes (#120)
* updated favicon to monochrome color

* simple CSS changes to expanded row
2018-11-06 20:24:04 -08:00
Ajay Alfred fb9b48a570 updated favicon to monochrome color (#118) 2018-11-06 20:09:17 -08:00
Riley Bauer b9a7e241ad Add tests for the NewExperiment page (#109)
* Add tests for the NewExperiment page

* Fix test name

* Remove obsolete tests

* Clean up
2018-11-06 17:14:23 -08:00