Commit Graph

92 Commits

Author SHA1 Message Date
Richard Cox f459aa9b5d
Merge pull request #10874 from richard-cox/richard-drone-dashboard-pr
Port drone build tasks to gh workflows + actions
2024-05-01 15:25:46 +01:00
Neil MacDougall 53e666994d
Unpin Rancher backend (#10900) 2024-04-30 11:10:27 +01:00
Richard Cox 411a9bf8e8 Changes following review 2024-04-26 13:32:22 +01:00
Richard Cox e3143f6164 Port drone build tasks to gh workflows + actions
- Remove old drone build tasks (note - FOSSA will not be ported at this time, discussed in slack)
- create generic setup composit action which can be used by multiple workflows
- create generic lint, i18n-lint and unittest composit action which can be used by multiple workflows
- create generic build-and-upload workflow which can be used by multiple workflows
- trigger build-and-upload on merge to specific branch (TBD)
- trigger build-and-upload on specific tags

Also
- changed name of yarn install:ci as it was used outside of ci

Note
- I'd have liked to group together the workflows used by the build, but things like workflow subfolders
aren't supported
2024-04-25 13:45:11 +01:00
Neil MacDougall c4c7d9e02d
Pin rancher backend image version for e2e tests (#10859)
* Pin rancher backend image version for e2e tests

* Try older image
2024-04-22 17:58:23 +01:00
Neil MacDougall c116777dc3
Zube migration: Update script, update workflow and remove Zube workflow (#10855) 2024-04-22 16:34:24 +01:00
Neil MacDougall 3231fc1962
Update regions list and add script to sync it (#10799) 2024-04-12 20:25:36 +01:00
Richard Cox f2e229eca0 Move e2e build out from each e2e step to a single pre e2e job
- also use yarn cache
2024-03-25 10:32:02 +00:00
Phillip Rak 69c71cfea3 Target `v2.9-head` for e2e runs
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-03-15 16:18:42 -07:00
Phillip Rak 201b53cb34 Target `v2.9-a83e8c5526b54153aee0edbc2dc7b6d8ea982bec-head` for e2e runs
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2024-03-14 14:55:31 -07:00
Neil MacDougall 7ef50a1309
Add script and CI job to check that all e2e tests have tags (#10578)
* Add script and CI job to check that all e2e tests have tags

* Fix script name

* Add tags to test that does not have them
2024-03-08 15:16:04 +00:00
Neil MacDougall 010f1403ab
Add zube migration script (WIP) (#10534)
* Add zube migration script

* Add GitHub Projects PR workflow

* Add initial workflow to test token access
2024-03-05 14:31:28 +00:00
Phillip Rak e700243ba6
Merge pull request #10189 from rak-phillip/chore/2.9/update-environment
Bump rancher version to `v2.9-head` for e2e scripts
2024-01-04 19:42:23 -07:00
Phillip Rak 52c39e2038 Bump rancher version to `v2.9-head` for e2e scripts
Signed-off-by: Phillip Rak <rak.phillip@gmail.com>
2023-12-20 10:40:01 -07:00
Neil MacDougall c5f5c9b0cf
Add support for replaying network requests from a captured HAR file (#10149)
* Add support for replaying from har file

* Fix merge

* Improvements

* Add export and folder support

* Minor tidy ups

* Fix lint

* Add doc

* Update doc with correct fallback HTTP status code

* Fix typo
2023-12-20 16:39:00 +00:00
Giuseppe Leo e92b03943b
E2E job parallelization by user role and functionality (#9887)
* Create matrix for E2E job

* Create utility for mapping skipped tests for given dirs

* Allow to filter any dir for given env vars

Add Rancher setup phase in test CI

Restore skip setup variable for other checks

* Cypress config cleanup

* Avoid use of tags for setup test

Add setup tag

* Add specs dir to the matrix

Correct matrix to use each role

Add tag prefix on command

* Correct coverage path

* Simplify cypress utility

* Implement only env var filtering logic

Update env var filtering with a menageable definition

Update CI to filter paths by new logic

Reorganize tests file tree

Add tags for each section

Combine roles and features specs

Update new specs to the tag format

Grouping tags

Fix issues with specs and admin spec/username for login parallelization

Fix issue pre-pending @ character

Remove coupling

Remove Docker stop

Enable all the tests in groups

Allow E2E matrix to fail with strategy flag fail-fast

* Add role for setup in combination to features

* Change tag AND to OR (space instead plus)

* Exclude non tagged tests instead of skip

* Correct standard user name

* Use object for matrix definition; Restore usernames for tests; Remove hackish tag for role

* Pair matrix role tag to multiple matrix features

* Disable failing tests

* Move diagnostic from extension to generic

* Remove build dashboard flag for setup

* Correct screenshot naming to match coverage file naming

* Move Cypress utils out of shell

* Remove View API check for fleet

* Add documentation

* Update skip logic and documentation

* Update env template
2023-12-12 13:07:54 +01:00
Richard Cox 01bacaf5a9
Temporary fix for flaky tests (#9718)
* Only run flaky tests

* Comments, minor change

* Optionally build UI

* Give horrible `wait`s a try

* disable cov coverage if no instrumented code

* fix if

* debug, fix

* attempt to return 0 in all cases

* Tidying up
2023-11-13 13:34:44 +00:00
Richard Cox 0df75e6ba9 Remove broken release process that creates a PR in rancher/rancher
- the pr created for rancher/dashboard somehow conflicted with the pr created by rancher/ui
- so pr creation is manual at the moment
- someone outside the team is working on another method of automation
2023-10-17 10:39:26 +01:00
Richard Cox d5ed805086 Bump the rancher version used in e2e tests to 2.8 2023-09-28 14:01:04 +01:00
Richard Cox 317a328ac5 Remove docker files
- Dockerfile
  - used by drone to build rancherlabs/dashboard (which is private)
  - basically running dashboard in a container
- Dockerfile.dev
  - have a strong suspicion this might be rancher/dashboard:dev (which doesn't exist or is private)
  - yarn installs, yarn devs
2023-09-26 13:27:18 +01:00
yonasberhe23 2c18619932
ui automation: update workflow: create standard user, add tags to tests (#9029)
* add standard user to workflow

* update create user logic and added cypress-grep plugin

* added admin and standard user tags to tests, updated workflow in test.yaml

* update workflow file and added adminUser tag to setup

---------

Co-authored-by: Yonas Berhe <yberhe@Yonass-MacBook-Pro.local>
2023-07-04 11:17:24 -07:00
Richard Cox a3f17e3f6d Use the latest rancher/ui build in e2e tests
- given we now serve the (built) dashboard files we set CATTLE_UI_OFFLINE_PREFERRED=true
- this means the embedded rancher/ui is used
- so now we do something similar to ensure the latest rancher/ui is used
2023-06-27 11:16:54 +01:00
Giuseppe Leo 01eeb0548f
Add recommended lint rules globally (#8997)
* Update configuration

* Create default config for eslint

* Restore plugin:vue/recommended

* Add exceptions and overrides

* Correct manually remaining issues

* Adding further picked exceptions groupped up

* Fix or disable specific cases manually and singularly

* Add naming linting exception

* Remove unused variable in component

* Move rules to default

* Autocorrect rancher/components linting issues

* Configure VSCode to use multiple files, to display linting for rancher components

* Disable jest lint hook restriction for string list component

* Autofix
2023-06-23 17:02:55 +02:00
Neil MacDougall 226ed30e39
e2e: Add built UI to docker container rather than run a node process (#9063)
* e2e: Add built UI to docker container rather than run a node process

* Fix to ensure docker:local:stop tried to both clean and remove cypress container

* Check dist folder is correct

* Build U first

* Remove debug, wait for ui

* Change cluster test

* Tweak test

* Improve resilience of cluster manager delete tests

* Fix lint

* Try and fix delete tests

* Remove unused var

* Remove unused baseUrl

* Fix cluster delete tests

* Address lint issues

* Fix api keys test
2023-06-19 09:08:19 +01:00
Richard Cox cb9b6879a5 Two RC related build fixes
- Apply build-hosted resource base ending `/` (https://github.com/rancher/dashboard/pull/8401)
- Ensure resource links in index.html match that of previous releases
  - These all started with `/dashboard` and had `<base href='/dashboard/'`
  - Note - base is still missing (everything still seems to work)
  - Note - base is ignored for href's starting `/` anyway
  - It's assumed nuxt added this resource prefix via nuxt.config.js build publicPath
2023-06-01 09:36:18 +01:00
Cody Jackson 1c660b97ca Add missing '/' to the ROUTER_BASE in build-hosted
The missing ending '/' was causing the router to parse routes incorrectly
2023-03-10 09:39:43 -07:00
Cody Jackson bbb7eebc90 Removing nuxt 2023-03-03 11:49:26 +00:00
Neil MacDougall 6537360006
Extensions: Add publish script to shell (#8198)
* Add publish script to shell

* Fix wrong path
2023-02-21 20:06:48 +00:00
Alexandre Alves 3bd4ccc6c2
Add rancher dashboard version to "About" page (#7516)
* display dashboard version on about page

* add space between commit branch and commit hash

* address PR comments

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
2022-12-14 09:48:46 +00:00
Neil MacDougall 4ba79f761c
Move storybook (#7611)
* Improve Storybook welcome/landing page

* Move storybook

* Tidy up build scripts and docs

* Update yarn.lock

* Update yarn.lock

* Address PR feedback

* Fix issue with running after 1st run

* Add back top-level build-storybook target
2022-12-07 18:07:48 +00:00
Jordon Leach 6d6c2e084e
Add script to update docker image (#7343)
* Add script to update docker image

* Change docker run output to log file - update docs
2022-11-07 16:04:54 -05:00
Neil MacDougall 6481644579
Customisable links support (#7131)
* Implement Rancher Prime changes.

* Implement Rancher Prime endpoint.

* squash

* Implement Rancher Prime endpoint.

* squash

* fix proxy.

* Fix support page links.

* merge master.

* Fix nuxt config.

* test without /rancherversion

* Fix links.

* Merge tify up - rename back to hasSupport for less change

* Fix version metadata fetching

* Allow links to be edited

* Fix lint, revert changed to KeyValue

* Remove unused code

* Fix typo

* Add support for linkOptions

* Add name to component

* File an issue link should go to choose page

* Fix typo

* Fix issue with legacy settings

* Address PR feedback

* Remove todo that was done

Co-authored-by: Shavindra <shavindra@users.noreply.github.com>
2022-10-11 14:11:22 +01:00
Giuseppe Leo f6bc463f6c
Revert use of eval while executing E2E (#7057) 2022-10-03 13:19:35 +01:00
Giuseppe Leo 1c6b5ac666
Generate coverage value for both unit and E2E tests (#6690)
* Correct Jest coverage configuration

* Add coverage upload

* Exclude operationsl scripts from linting

* Rephrase title based on pull request title, run and attempt, with fallback for commits

* Add instrumentation for E2E coverage report

* Add merge logic to the coverage files

* Add instrumentalization for Cypress to generate coverage for E2E

* Download artifacts before merge coverage in CI

* Merge fix

* Copy coverage files before artifact upload

* Add summary after running tests

* Change restriction rules about coverage for pull_request and push

* Add documentation for the coverage

* Correct test documentation folder restructuring

* Add inclusion list for Cypress coverage; add scripts as exclusion

* Extend ignored path to be parsed for Jest to improve performances

* Workflow cleanup

* Checkout current branch head on test runs

* Submit separated coverage with different flags
2022-09-30 10:36:36 +02:00
Richard Cox ecefcc98cb Enable embedding of legacy harvester plugin
- The harvester plugin to support legacy harvester clusters is now available
- Update the env var to ensure it's included in the dashboard
- Update build-embedded script with a fix
2022-09-13 09:57:14 +01:00
Richard Cox c4fbedc41f Update dashboard build process to embed a specific harvester plugin
- Currently disabled, once the package is available it will be uncommented
2022-09-07 17:08:34 +01:00
Richard Cox 601dd0ff22 Merge remote-tracking branch 'upstream/master' into test-pluginize-rc-2 2022-09-01 19:15:07 +01:00
Neil MacDougall ce982231bc
Standalone script - allow refresh on dynamic pages (#6738)
* Standalone script - allow refersh on dynamic pages

* Fix comment typo
2022-09-01 14:24:14 +01:00
Richard Cox b3f13843dd Merge remote-tracking branch 'origin/harvester-plugin-rebased' into test-pluginize-rc-2 2022-09-01 13:57:18 +01:00
Nancy Butler eb5de29744 generateDynamicTypeImport hyphenated dirs
rename cloud_credential and machine_config back to cloud-credential and machine-config
2022-08-19 12:21:24 -07:00
Nancy Butler a88ea801c9 routing maybe 2022-08-19 12:18:48 -07:00
Richard Cox f49c6bd006 Fix package script and visibility of incremental loading indicator
Script Changes
- fixed `require` errors
- ensure dashboard ignores output of scripts (useful for local dev)

Dashboard Changes
- only show the resource loading indicator if incremental loading is enabled
2022-08-10 12:52:28 +01:00
Giuseppe Leo 194d9a7e03
E2E: Create dashboard access for reviewing tests results (#6576)
* Add sorry-cypress library, commands and configuration

* Replace e2e test run ID to be used for the dashboard with title, id and number run

* Add missing instruction for the dashboard

* Set default browser to Chrome

* Updated env template
2022-08-04 17:10:02 +02:00
Giuseppe Leo 5d4e32e855
Create unit test and linting jobs with GitHub Actions (#6562)
* Add GitHub Actions on push to run lint and unit test

* Store unit test coverage as artifact

* Correct unit tests coverage path collection

* Add i18n linting on CI

* Correct rancher-component path

* Remove pull request trigger from Drone

* Fix linting from master

Co-authored-by: Richard Cox <richard.cox@suse.com>
2022-08-01 16:25:20 +01:00
Richard Cox a2e90f9610 Tweaks and fixes
- Remove unused mimeTypes (and eslint file)
- add some build output dirs to gitignore
- fix serve of html files (content was in ui/dist instead of ui)
2022-08-01 12:17:38 +01:00
Neil MacDougall af24fa2b68
Add missing socket 2022-07-30 17:38:18 +01:00
Neil MacDougall 75c726a763 Script to create standalone build for testing 2022-07-30 15:09:00 +01:00
Richard Cox 22e4d3479f WIP build process changes & comment tidy up 2022-07-14 14:00:55 +01:00
Neil MacDougall 26f004407e
Add support for linting l10n files (#6360)
* Add support for linting l10n files

* Address PR feedback
2022-07-13 15:56:20 +01:00
Nancy Butler 6b18d802ad generateDynamicTypeImport hyphenated dirs
rename cloud_credential and machine_config back to cloud-credential and machine-config
2022-07-12 10:59:34 -07:00