-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
installed version match check and CYPRESS_BINARY_VERSION #866
installed version match check and CYPRESS_BINARY_VERSION #866
Comments
I would not consider this a bug. The NPM CLI installer does NOT know if the |
Agreed. We actually took this into account as a feature.
…On Thu, Nov 2, 2017 at 9:22 AM, Gleb Bahmutov ***@***.***> wrote:
I would not consider this a bug. The NPM CLI installer does NOT know if
the cypress.zip is the right version, matching the version inside the
package.json So the warning is appropriate.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#866 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABNc8GdDreM1_L9Wtz2XdfkHWA47s0goks5sycIYgaJpZM4QPa-O>
.
|
Mmh there is maybe some confusion in my mind about your software chunks and your versionning system. Let's put everything on the table. As i understand it, your software
If i install If i install The tag identifies both pieces (that's where i am maybe wrong). My problem is about consistency in the I could have (and i will, it's absolutly sure) in my global CI system 3 projects with cypress as The projects |
I created an issue regarding your recommendation for the docs. Our docs are also open source and open for contributions. cypress-io/cypress-documentation#200 |
According to the comments above then, since cypress cannot tell what version is in the .zip file, it will ALWAYS give this warning. How is that a feature? The statement will be right some of the time and wrong some of the time. |
All the CLI code is here: https://github.com/cypress-io/cypress/tree/develop/cli Specifically what does that check is here: https://github.com/cypress-io/cypress/blob/develop/cli/lib/tasks/verify.js#L226 PR's welcome! |
Ok i get the point. The CLI is comparing the The version field in So it checks if So if we use What about adding a A side question, there is a version file containing Would love to make a PR but :
Well, if you could tell me what you want i could give it a try. Last thing, could you give us more details about your CDN structure ? For example how could i manually download the |
An alternative here would be to parse the To answer some of your questions: The We can document our download server's API. It's already internally documented and we can add it to the installer guide. The download server automatically figures out which OS to send you (but it can be manually specified) and naturally you can also ask for a specific version too. I'm not sure what we want to do yet - when we originally wrote the code we talked about this use case but shrugged it off as not that big of a deal to see the warning each time. Perhaps we could also enable you to turn those off and preserve those values in |
We'll document this tomorrow but here are a list of useful endpoints for the download server. These are all accessed on host: Desktop App Routes
You don't need to provide platform as Cypress will automatically figure that out. It also supports an |
{
"name": "Cypress",
"version": "1.0.3",
"packages": {
"mac": {
"url": "https://cdn.cypress.io/desktop/1.0.3/osx64/cypress.zip"
},
"win": {
"url": "https://cdn.cypress.io/desktop/1.0.3/win64/cypress.zip"
},
"linux64": {
"url": "https://cdn.cypress.io/desktop/1.0.3/linux64/cypress.zip"
},
"darwin": {
"url": "https://cdn.cypress.io/desktop/1.0.3/osx64/cypress.zip"
},
"win32": {
"url": "https://cdn.cypress.io/desktop/1.0.3/win64/cypress.zip"
},
"linux": {
"url": "https://cdn.cypress.io/desktop/1.0.3/linux64/cypress.zip"
}
}
} Now i have all the needed entry points to trigger a meeting with the department in charge of the software factory in my customer company. I can tell them where to download each piece of software for each version and each platform and how to configure the jenkins jobs to get cypress working behind the corporate proxy. Just to be sure, the Last thing about this :
The problem about this case is : this creates doubt. Did i download the correct binary version ? I have maybe made an error somewhere ? Pretty sure you will get questions about this many times. Anyway, thanks you all for your time and effort, i am stonished by the involvment you put into the communication with your users. Especially for a small company with limited ressources. |
I created a new issue in our docs to document the download server API here cypress-io/cypress-documentation#218. Our documentation is open source and contributions are welcome. 😄 |
I will give it a try tonight or sunday :) |
Everything ends up receiving the same |
closes cypress-io#200, closes cypress-io#218 and closes cypress-io/cypress#866 * npm install section clarification - what is the npm package - best practice highlighted * direct download section precisions - what is exactly downloaded as the user didn't knew it exactly * new CDN Structure section - CDN url pattern - it give to the user enough informations to download Cypress in the wanted version for the wanted platform (could download a linux Cypress version from a windows workstation) - example * Advanced section - warning added about CLI output when running cypress
closes cypress-io#200, closes cypress-io#218 and closes cypress-io/cypress#866 * npm install section clarification - what is the npm package - best practice highlighted * direct download section precisions - what is exactly downloaded as the user didn't knew it exactly * new CDN Structure section - CDN url pattern - it give to the user enough informations to download Cypress in the wanted version for the wanted platform (could download a linux Cypress version from a windows workstation) - example * Advanced section - warning added about CLI output when running cypress
* Installing Cypress guide improvment closes #200, closes #218 and closes cypress-io/cypress#866 * npm install section clarification - what is the npm package - best practice highlighted * direct download section precisions - what is exactly downloaded as the user didn't knew it exactly * new CDN Structure section - CDN url pattern - it give to the user enough informations to download Cypress in the wanted version for the wanted platform (could download a linux Cypress version from a windows workstation) - example * Advanced section - warning added about CLI output when running cypress * updates to new advanced instructions - Some wording changes - Moved CDN section into section called ‘Hosting’ within the Advanced install instructions. - Added the download table (we only want to expose our download.cypress.io endpoint, not the cdn directly) - update platforms to correct os names.
Is this a Feature or Bug?
Bug (and documentation request)
Current behavior:
The cypress CLI installed version check at run output a weird message :
I have checked the version by running
cypress.exe
. It open the electron app, the indicated version is1.0.3
.My
npm
installed version is also1.0.3
.Desired behavior:
It should not print that message.
How to reproduce:
I am behing a corporate proxy, until now i was using the direct download package. I have tried this morning the
npm install
with theCYPRESS_BINARY_VERSION
trick.I have downloaded the
cypress.zip
file fromhttps://download.cypress.io
from a computer connected to internet then i have put thecypress.zip
file on my dev machine.I have set the env var
CYPRESS_BINARY_VERSION
:C:\blablabla\cypress.zip
, then rannpm install
then ran the tests i had written with the direct download desktop app with thecypress run
CLI command.Additional Info (images, stack traces, etc)
The documentation should indicate where to download a cypress archive and how to download it in a specific version.
A devops could have to build a CI for projects running a different cypress version then
@latest
.Related to this issue.
The text was updated successfully, but these errors were encountered: