Skip to content
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

release-22.2: ui: install Cypress native binary just in time #93803

Merged
merged 1 commit into from Apr 20, 2023

Conversation

blathers-crl[bot]
Copy link

@blathers-crl blathers-crl bot commented Dec 16, 2022

Backport 1/1 commits from #93800 on behalf of @sjbarag.

/cc @cockroachdb/release


Previously, the native binary for the UI end-to-end testing framework
Cypress[1] was installed immediately when starting any full build of
CockroachDB (i.e. anything that includes the web UI). This caused errors
on the non-Windows, non-Darwin, non-Linux operating systems that Cypress
doesn't support[2], including FreeBSD and illumos. Since those tests
aren't part of the core build or test suite, build failures are an
unnecessarily harsh failure mode. Download the native Cypress binary
only when necessary, restoring the ability for users on FreeBSD,
illumos, and others to build CockroachDB.

[1] https://cypress.io/
[2] https://docs.cypress.io/guides/getting-started/installing-cypress#Operating-System

Fixes: #87369

Release note (build change): The native binary for Cypress is now only
downloaded and installed when UI end- to-end tests are run, instead of
eagerly downloading it on all platforms at build-time. This restores
the ability for non-{Windows, Darwin, Linux} platforms like FreeBSD and
illumos to build CRDB without modifications, which broke in the initial
22.2 release.


Release justification: Non-production code changes

@blathers-crl blathers-crl bot requested a review from a team as a code owner December 16, 2022 19:47
@blathers-crl blathers-crl bot force-pushed the blathers/backport-release-22.2-93800 branch from f2a1156 to 5744494 Compare December 16, 2022 19:47
@blathers-crl
Copy link
Author

blathers-crl bot commented Dec 16, 2022

Thanks for opening a backport.

Please check the backport criteria before merging:

  • Patches should only be created for serious issues or test-only changes.
  • Patches should not break backwards-compatibility.
  • Patches should change as little code as possible.
  • Patches should not change on-disk formats or node communication protocols.
  • Patches should not add new functionality.
  • Patches must not add, edit, or otherwise modify cluster versions; or add version gates.
If some of the basic criteria cannot be satisfied, ensure that the exceptional criteria are satisfied within.
  • There is a high priority need for the functionality that cannot wait until the next release and is difficult to address in another way.
  • The new functionality is additive-only and only runs for clusters which have specifically “opted in” to it (e.g. by a cluster setting).
  • New code is protected by a conditional check that is trivial to verify and ensures that it only runs for opt-in clusters.
  • The PM and TL on the team that owns the changed code have signed off that the change obeys the above rules.

Add a brief release justification to the body of your PR to justify this backport.

Some other things to consider:

  • What did we do to ensure that a user that doesn’t know & care about this backport, has no idea that it happened?
  • Will this work in a cluster of mixed patch versions? Did we test that?
  • If a user upgrades a patch version, uses this feature, and then downgrades, what happens?

@blathers-crl blathers-crl bot added blathers-backport This is a backport that Blathers created automatically. O-robot Originated from a bot. labels Dec 16, 2022
@cockroach-teamcity
Copy link
Member

This change is Reviewable

@sjbarag
Copy link
Contributor

sjbarag commented Dec 16, 2022

Thanks for the quick re-review, @rickystewart !

bors r=rickystewart

@rickystewart
Copy link
Collaborator

bors r-

@craig
Copy link
Contributor

craig bot commented Dec 16, 2022

Canceled.

@rickystewart
Copy link
Collaborator

No bors on release branches. :) Just click the merge button when checks have passed.

@github-actions
Copy link

github-actions bot commented Jan 9, 2023

Reminder: it has been 3 weeks please merge or close your backport!

@davepacheco
Copy link

It looks like 22.2.8 doesn't have this fix. Is it going to be in a future release? (Still hitting #93162 trying to build 22.2.8.)

@sjbarag
Copy link
Contributor

sjbarag commented Apr 19, 2023

It looks like 22.2.8 doesn't have this fix. Is it going to be in a future release? (Still hitting #93162 trying to build 22.2.8.)

😓 that's very embarrassing, I forgot to merge this. Let me get it back up to date and it'll be in 22.2.9. I'm so sorry @davepacheco !

@sjbarag sjbarag force-pushed the blathers/backport-release-22.2-93800 branch from 5744494 to 1afef1c Compare April 19, 2023 21:59
Previously, the native binary for the UI end-to-end testing framework
Cypress[1] was installed immediately when starting any full build of
CockroachDB (i.e. anything that includes the web UI). This caused errors
on the non-Windows, non-Darwin, non-Linux operating systems that Cypress
doesn't support[2], including FreeBSD and illumos. Since those tests
aren't part of the core build or test suite, build failures are an
unnecessarily harsh failure mode. Download the native Cypress binary
only when necessary, restoring the ability for users on FreeBSD,
illumos, and others to build CockroachDB.

[1] https://cypress.io
[2] https://docs.cypress.io/guides/getting-started/installing-cypress#Operating-System

Fixes: #87369

Release note (build change): The native binary for Cypress is now only
downloaded and installed when UI end- to-end tests are run, instead of
eagerly downloading it on all platforms at build-time. This restores
the ability for non-{Windows, Darwin, Linux} platforms like FreeBSD and
illumos to build CRDB without modifications, which broke in the initial
22.2 release.
@sjbarag sjbarag force-pushed the blathers/backport-release-22.2-93800 branch from 1afef1c to fe99e9a Compare April 19, 2023 22:16
@sjbarag sjbarag merged commit 87cf259 into release-22.2 Apr 20, 2023
6 checks passed
@sjbarag sjbarag deleted the blathers/backport-release-22.2-93800 branch April 20, 2023 02:26
@sjbarag
Copy link
Contributor

sjbarag commented Apr 20, 2023

Merged. Thanks for the reminder, @davepacheco, and sorry again for the super long delay!

@davepacheco
Copy link

No sweat. Thanks for the fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blathers-backport This is a backport that Blathers created automatically. no-backport-pr-activity O-robot Originated from a bot.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants