Commit Graph
68 Commits
Author SHA1 Message Date
Steven Vachon de3a7610d7 Print Node.js and Toolkit versions (#30230)
* Minor changes

* Print Node.js and toolkit versions when building
2021-01-12 12:17:29 -05:00
Steven Vachon 807b31fb57 Use Node.js 14.x in plugin CI (#30209) 2021-01-12 09:07:07 -05:00
Steven Vachon 830e8b64c3 @grafana/eslint-config bump (#28230)
* Use latest @grafana/eslint-config

* Version bump
2020-10-13 12:45:22 -04:00
Steven Vachon 0c7fb0cf90 Use latest @grafana/eslint-config (#28225)
* Use latest @grafana/eslint-config

* Updated lockfile
2020-10-13 11:23:39 -04:00
Steven Vachon 77242b7264 Use latest @grafana/eslint-config (#28124)
* Use latest @grafana/eslint-config

* Updated lockfile
2020-10-08 13:56:30 -04:00
Steven Vachon 7a65b1e8bb @grafana/toolkit: fix plugin test errors with react-testing-library (#28092) 2020-10-07 15:29:59 -07:00
Steven Vachon 1c865b5bcb @grafana/e2e: timing improvements (#27861) 2020-10-05 11:19:53 -07:00
Steven Vachon 89ebab6377 Don't use process.chdir (#27915)
... because it's global
2020-10-02 10:43:39 -04:00
Steven Vachon d745a66a18 @grafana/toolkit: cleanup (#27906)
* Simplify `useSpinner` to run immediately, instead of returning a function

* Removed unnecessary exports

* Avoid mutating input arguments
2020-09-29 15:05:07 -04:00
Steven Vachon 15a3b97dbb @grafana/toolkit: run npm "next" publish file system functions serially (#27894)
... to hopefully avoid race conditions with working directory changes
2020-09-29 10:16:16 -04:00
Steven Vachon 4fd8ff092e @grafana-toolkit: promise improvements (#27868)
* Default `useSpinner` to a void argument

* Use promise-based file system functions in package:build
2020-09-28 15:43:01 -04:00
Steven Vachon f38e431632 @grafana/e2e: selectOption flow now accepts a config object (#27827) 2020-09-25 16:10:55 -04:00
Steven Vachon abb015bad6 @grafana/e2e: flaky chart data workaround (#27687)
Don't expect initial chart data when creating a panel that hasn't yet populated its query editor
2020-09-21 19:40:23 -04:00
Steven Vachon ed4ef0862d @grafana/e2e: annotation improvements (#27582)
* Removed Datadog-specific fields from config for annotation creation

* Added a custom form config option for annotation creation

* Added regex support to `selectOption`
2020-09-15 15:10:56 -04:00
Steven Vachon d9320e37f4 @grafana/e2e: avoid query data flakiness (#27511) 2020-09-10 11:40:44 -04:00
Steven Vachon 2e3b6b6850 Docs: E2E (#27461)
* Separated generalized E2E docs from that of core

… and rewrote some minor things to be more concise for faster reads.

* Added plugins E2E document
2020-09-09 08:55:42 -04:00
Steven Vachon 6c5a0421fe @grafana/e2e: improve types (#27348) 2020-09-02 20:37:23 -04:00
Steven Vachon 1a69bcfeff @grafana/e2e: improvements (#27170)
* Minor changes

* Changed default panel screenshot name

* Removed default visualization type from `addPanel` config

... which, unless defined, will use the app's default (graph). This is the new approach for plugins which supports annotations.

* Select timezone from dashboard toolbar instead of settings

... and refactored `setDashboardTimeRange` for reuse on other pages via a now more generalized `setTimeRange`

* Added optional annotations to `addDashboard` config

* Added `explore` flow

… which reuses `configurePanel` which is very similar
2020-08-28 17:03:22 -04:00
Steven Vachon 46d7c3f814 @grafana/e2e-selectors: fix to qualify as not aria-label (#27274) 2020-08-28 14:25:08 -04:00
Steven Vachon 611d416f91 Selector improvements for E2E (#27271) 2020-08-28 12:59:56 -04:00
Steven Vachon 7c49d6d944 Fix core E2E CI (#27254) 2020-08-27 18:23:35 -04:00
Steven Vachon 70fb4afe74 Fix Cypress dependency error (#27252) 2020-08-27 17:14:28 -04:00
Steven Vachon c45cf83776 @grafana/e2e: selector improvements (#27235)
* Added labels and selectors for explore page

* Added selector for annotations

* Used selector for time picker label
2020-08-27 10:36:24 -04:00
Steven Vachon 4d14ebaacc Added aria-label to dashboard timezone picker (#27203)
... for E2E tests
2020-08-25 15:43:01 -04:00
Steven Vachon 04249ae7ad @grafana/e2e: improvements (#26939)
* Minor changes

* Added an `editPanel` flow function

... and moved the internals of `addPanel` to a common function for use by both

* Added optional template variables to `addDashboard` config

* Use latest Cypress 4.x version

* Updated lockfile
2020-08-20 13:15:25 -04:00
Steven Vachon 19e9e01178 @grafana/e2e: improvements (#26838)
* Minor changes

* Only expect login “change password” notification for default passwords

* Optionally populate basic auth when adding a datasource

* Optionally match screenshot when adding a panel
2020-08-07 15:38:44 -04:00
Steven Vachon 634d8d60d6 @grafana/e2e: close options panel before interacting with the query form (#26036)
... it's logically better, but the real reason is to appease Cypress which was cause a consistent request error for a single plugin (datadog-datasource). An error which could not be reproduced manually.
2020-07-03 10:22:56 +02:00
Steven Vachon bbce01de04 Chore: whatwg-fetch version bump (#25952)
* Use latest fetch polyfill/shim

* Updated lockfile
2020-06-30 17:04:55 -04:00
Steven Vachon 75a714aa51 Added options to customize chart data listening (#25918) 2020-06-30 09:45:36 -04:00
Steven Vachon 49e629b278 @grafana/e2e: improvements (#25908)
* Set time range when creating a dashboard

* Optionally set time range when opening a dashboard

* Default time range to 6 hours instead of 1 hour

* Minor changes
2020-06-29 16:04:38 -04:00
Steven Vachon fb3bec058a @grafana/e2e: improvements (#25708)
* Set time range when opening a dashboard

* Set UTC timezone when creating a dashboard

* Added flow for selecting options in custom select fields

* Fix flaky test
2020-06-26 13:33:05 -04:00
Steven Vachon 10715a1c79 @grafana/e2e: added tests (#25836)
* Use at least cypress@4.9

... which has [arguably] better TypeScript definitions

* Updated lockfile

* Added tests for CLI and API

* Minor changes
2020-06-25 13:17:45 -04:00
Steven Vachon 5b5b247cb1 @grafana/e2e: improvements (#25677)
* Minor changes

* Fixed data source selection issue

… where it appeared as though the wrong one was selected

* Fixed “executing a canceled action” issue

... thrown from RxJS
2020-06-17 15:39:39 -04:00
Steven Vachon fe74abfaae @grafana/e2e: improvements (#25610)
* Added dependency for attaching files to forms

* Fixed closing of panel options

* Updated lockfile
2020-06-16 12:42:35 -04:00
Steven Vachon 4c8ad8d031 @grafana/e2e: improvements (#25497)
* Minor changes

* Use UI for removing dashboards and datasources

… with an optional “quick” mode that instead does so via a request

* Improved URL helpers

* Simplified test teardown

* Added support for multiple tests

... instead of being forced to cram everything into a single test because the session was cleared
2020-06-11 16:31:49 -04:00
Steven Vachon d62926b5a3 @grafana/e2e: improvements (#25342)
* Minor changes

* Remove console.* logger plugin

... as it doesn't work in Electron

* Only open/close panel editor options and groups when state is inverted

... meaning, only open when closed and only close when open. This avoids unpredictable states, causing inconsistent results.

* Support for adding multiple datasources and dashboards

... and having them all auto-removed when tests are completed

* Avoid page errors when removing dashboards and datasources [keep?]

* Wait for chart data before saving panel

... so that everything is ready when returning to the dashboard
2020-06-08 09:52:34 -04:00
Steven Vachon 104c99f1b0 @grafana/e2e: improvements (#25307)
* Added more interaction to addPanel

* Use latest Cypress 4.x

* Updated lockfile
2020-06-02 21:08:09 -04:00
Steven Vachon df7647b268 @grafana/e2e: improvements and dumb fixes for #25203 (#25269)
* Fix type definitions

* Fix typo

* Added support for fetch() within tests
2020-06-01 13:55:37 -04:00
Steven Vachon 78febbbeef @grafana/e2e: screenshots and panel flow (#25203)
* Cleanup

* addPanel now supports (optional) custom dashboardUid

* addPanel now supports (optional) visualization name

* Added CLI option for updating screenshot fixtures

* Added support for console.* functions within tests

* Refactored screenshot command for greater simplicity

* addPanel now sets a unique title

* Updated lockfile
2020-06-01 08:48:23 -04:00
Steven Vachon 2724f05d5e @grafana/e2e: Avoid Cypress' issue with JSON file reporter (#25092)
https://github.com/cypress-io/cypress/issues/6406
2020-05-25 19:28:35 -04:00
Steven Vachon 68154cf98d @grafana/e2e: generate JSON report file (#25033)
* Output JSON report from Cypress

* Updated lockfile
2020-05-25 15:07:28 -04:00
Steven Vachon 4c62689bc2 @grafana/e2e: fixes (#24960)
* Resolve Cypress bin path

... instead of expecting it to be in a place that it may not be, depending on de-duping/flattening of nested dependencies

* Remove dashboard before removing datasource

... it makes more sense and it fixes random issues, perhaps something to do with how the backend is implemented.

* Updated lockfile
2020-05-20 20:49:36 -04:00
Steven Vachon b2f8f25995 @grafana/e2e: support regex for addDataSource (#24461) 2020-05-11 10:51:59 -04:00
Steven Vachon 648dda96e9 @grafana/e2e: only skip password reset on local tests (#24411) 2020-05-07 20:06:10 -04:00
Steven Vachon 184941eab4 @grafana/e2e: added login credential env vars (#24359)
... for remote instances
2020-05-06 18:44:14 -04:00
Steven Vachon 861fa8cae6 @grafana/e2e: update datasource dropdown selector (#24141) 2020-05-01 19:49:56 -04:00
Steven Vachon 6558df83ad @grafana/e2e: fix module paths for runtime (#24121)
... because the "src" dir only exists at compile time.
2020-04-30 16:46:33 -04:00
Steven Vachon b027e25127 @grafana/e2e: fix dependencies (#24109)
* @cypress/webpack-preprocessor is needed at runtime

* Removed redundant packages

* Removed unnecessary packages
2020-04-30 11:55:37 -04:00
Steven Vachon dc8bbc8148 @grafana/e2e: select specific datasource option element (#23216)
... because, oddly, the previous selection worked locally but not in CI
2020-03-31 08:50:17 -04:00
Steven Vachon 9272c0817c @grafana/e2e: exit with non-0 code on error (#23121) 2020-03-27 08:59:43 -04:00
Steven Vachon a4308fffe7 @grafana/e2e: API improvements (#23079)
* Minor changes

* Fixtures path is now relative to the project directory

* URL support module now has individual exports

* Scenario context timing issues resolved

... caused by being ran synchronously, instead of as part of Cypress' asynchronous queue.

* Scenario context API now supports multiple keys per function call

* addDataSource flow accepts a config argument

… and optionally checks datasource health status

* Added readProvisions command

* Added addPanel flow
2020-03-26 12:15:58 -04:00
Steven Vachon d8b346f441 Fix mysterious Babel plugin errors (#22974) 2020-03-23 12:32:04 -04:00
Steven Vachon 4fecf5a7a6 @grafana/e2e: correctly exclude dependencies from TypeScript builds (#22732)
* maintains support for Grafana core e2e tests
* avoids producing declaration files in plugin source directories
2020-03-11 15:30:29 -04:00
Steven Vachon 2c6993f18a @grafana/e2e: include Cypress tsconfig in published package (#22698) 2020-03-10 15:37:48 -04:00
Steven Vachon 23d72d25e4 @grafana/e2e: fix runtime ts-loader errors with Cypress support files (#22688)
* Minor changes

* Only exclude installed packages that are not @grafana/e2e itself

* Explicitly load Cypress tsconfig for clarity

* Fix Cypress tsconfig

  * it was trying to extend a config that is not published
  * it needs to be commonjs
2020-03-10 12:20:44 -04:00
Steven Vachon cd42b31da5 @grafana/e2e: install necessary dependencies for published package (#22657) 2020-03-09 14:16:09 -04:00
Steven Vachon aa7e6cf55f @grafana/e2e: fix empty bundle files (#22607)
* Minor changes

* Revert CLI to JavaScript

... as Rollup is only accepts ESM modules and TypeScript would need to use the new incremental builds feature which causes weird Redux module errors.
2020-03-06 12:25:55 -05:00
Steven Vachon ee5fcc03df @grafana/e2e: added support for plugin repositories (#22546)
* Minor changes

* Include Cypress support files in published package

* Added CLI

… with support for custom configurations (which Cypress does not currently support by default):

  * Loads cypress.json from @grafana/e2e as a base config (via a custom Cypress plugin)
  * Sets default values for project-level Cypress files (tests, etc)
  * Optionally loads a cypress.json from the current working directory as overrides

* Updated lockfile
2020-03-03 18:12:52 -05:00
Steven Vachon 0f06200a9d Fix Dockerfile lint errors (#22496) 2020-02-28 16:27:49 +01:00
Steven Vachon 2b6a88bf59 Optimized package.json files (#22475)
* Used repository shortcut syntax where possible
* Added repository directories for monorepo packages
* Alphabetically sorted npm scripts
2020-02-27 12:00:36 -05:00
Steven Vachon 3de625ef8e @grafana/toolkit: completed support for source maps in plugin builds (#22379) 2020-02-22 18:54:02 -05:00
Steven Vachon 7bf3f0b9c1 grafana/data: runtime dependencies moved from devDependencies (#22283)
... so that they get installed within consumer projects
2020-02-19 14:40:41 +01:00
Steven Vachon c35dc9a0f5 @grafana/toolkit: lint fix option now writes changes to disk (#22278) 2020-02-18 15:55:42 -05:00
Steven Vachon f48169633c TSLint → ESLint (#21006)
* Alphabetized tslint and tsconfig files

* Optimized tsconfig files

* Optimized editorconfig & prettier config files

… to reduce redundancy

* Switched to @grafana/tsconfig

… and:
* de-duped options
* removed options with default values

* Fixed nasty issue with types for nested slate-react

* Replaced TSLint with ESLint

* TSLint disables → ESLint disables

… also JSHint removals, which haven’t had an affect since it was replaced with TSLint.

* Compliances for ESLint, Prettier and TypeScript

* Updated lockfile
2020-02-08 02:40:04 +01:00
Steven VachonandDominik Prokop 9005b484f0 Replace ts-loader with Babel (#21587)
* Applied prettier to relevant webpack configs

* Replaced ng-annotate with babel-plugin-angularjs-annotate

… and replaced ts-loader with @preset/typescript

* Removed redundant import

… that is problematic with Babel's module resolver

* Updated lockfile

* Traspile debug package to es5 for PhantomJS support

* Update babel to latest version

* Remove @babel/poolyfill and url search params polyfill

* Add ts-loader to grafana-ui dependencies

* Update prod webpack build to use cor-js 3

* Applied prettier to relevant webpack configs

* Replaced ng-annotate with babel-plugin-angularjs-annotate

… and replaced ts-loader with @preset/typescript

* Updated lockfile

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-01-30 10:54:11 +01:00
Steven VachonandDominik Prokop e7e0d18bc8 Babel: use babel-loader instead of ts-loader, ng-annotate with babel-plugin-angularjs-annotate (#21554)
* Applied prettier to some webpack configs

* Removed ng-annotate

… and used same annotation approach as webpack.hot.js

* Removed redundant import

… that is problematic with Babel's module resolver

* Updated lockfile

* Replace ts-loader with babel-loader in webpack.dev

* Change tslint-loade order in dev webpack config

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
2020-01-17 12:36:46 +01:00
Steven Vachon f6130db03d @grafana/toolkit: cleanup (#21441)
* Clarify readme for extended webpack config

* Add support for ES2019 features

* Build task: path.resolve → resolvePath

* Build task: avoid fs race conditions

* Build task: use async fs functions

* Build task: use rimraf directly

... because depending on the workspace parent to have it installed is fragile, and a child process is always slower.

* Build task: misc
2020-01-15 18:51:37 -05:00
Steven Vachon 7aeba652c9 @grafana/toolkit: webpack extend TS→JS (#21176) 2019-12-18 13:47:03 -05:00