mirror of
https://github.com/cypress-io/cypress.git
synced 2026-02-09 00:30:16 -06:00
chore: document "major version welcome" implementation (#24910)
Co-authored-by: Emily Rohrbough <emilyrohrbough@users.noreply.github.com>
This commit is contained in:
@@ -8,7 +8,9 @@ It replaces the original electron app, `desktop-gui`.
|
||||
|
||||
- Allow users to log in through Cypress Cloud
|
||||
- Onboarding for new users (configure Component Testing dev server, install dependencies, etc)
|
||||
- Select testing mode (E2E, Component, Node.js)
|
||||
- Select testing mode (E2E, Component)
|
||||
- Provide UI to perform automated migration steps (for example migrating `cypress.json` to `cypress.config.js` for projects upgrading from 9.x or below)
|
||||
- Provide a dismissable Welcome Screen for every major release of Cypress
|
||||
|
||||
It is using the following technologies:
|
||||
|
||||
@@ -25,6 +27,16 @@ Cypress' entire back-end is powered by the `@packages/server` package. Launchpad
|
||||
|
||||
[Here is a short tutorial](https://github.com/lmiller1990/vue-3-urql-example) building a simple app using the same technologies we are using for launchpad. There are a lot of moving pieces; understanding how everything works will help you contribute to Launchpad.
|
||||
|
||||
## Major Version Welcome Content
|
||||
|
||||
The content is bundled with the launchpad and at the time of writing this, it lives in `src/migration/MajorVersionWelcome.vue`. Shipping it as part of the app means it is always available upon release and it will always work offline. Guidelines for the management of the content itself are documented internally in our `prod-eng-docs`, but the implementation is documented here.
|
||||
|
||||
A constant named `MAJOR_VERSION_FOR_CONTENT` defines which major version the content is associated with for the purposes of recording user dismissal in persisted state. This needs to be bumped to match the major version that will be released, since that value is the key that records the dismissal.
|
||||
|
||||
All changes to the content itself, and to the `MAJOR_VERSION_FOR_CONTENT`, must be made as Pull Requests into the `release/x.x.x` branch for that major version, not merged directly to develop. A new Major Version Landing page is considered a "breaking change" that shouldn't be on `develop`, since it would be incorrect if we released a patch and users started to see a Welcome Screen for the next major.
|
||||
|
||||
Note: release dates displayed on this page are stored in the code, not pulled from npm, with entries in the `versionReleaseDates` computed value. This is so they work offline and render right away without waiting for a network call.
|
||||
|
||||
## Building
|
||||
|
||||
### For development
|
||||
|
||||
@@ -1,3 +1,17 @@
|
||||
<!--
|
||||
MajorVersionWelcome.vue
|
||||
|
||||
This is the landing page that all users will see when they upgrade
|
||||
to a new major version.
|
||||
|
||||
See the README of this package for details about this component.
|
||||
|
||||
Internal Cypress employees: the process around managing this content
|
||||
is documented in `prod-eng-docs`. Refer to those docs when modifying
|
||||
this component or reviewing changes. Changes should go through
|
||||
a specific approval process.
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="bg-no-repeat bg-cover h-screen min-h-700px lp-wrapper">
|
||||
<div
|
||||
|
||||
Reference in New Issue
Block a user