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

test: add firefox-esr example #1195

Merged
merged 1 commit into from
Aug 16, 2024

Conversation

MikeMcC399
Copy link
Collaborator

@MikeMcC399 MikeMcC399 commented Aug 15, 2024

Issue

The Mozilla Firefox browser is currently packaged into Cypress Docker Linux/amd64 images in the repositories cypress/browsers and cypress/included, however the corresponding Linux/arm64 platform images do not include Firefox.

Firefox for Linux/arm64 is not part of the factory build process and it is not documented how to include it in a custom-built Cypress Docker image.

Opportunities

Mozilla plans

As can be seen for instance on https://download-installer.cdn.mozilla.net/pub/firefox/releases/129.0.1/, there is no download directory for Linux on ARM64. This is currently the barrier to integrating Firefox Linux/arm64 into the factory build process.

Mozilla announced Firefox Nightly Now Available for Linux on ARM64 on Apr 19, 2024. Nightly builds do not however conform to the download process used in factory/installScripts/firefox/default.sh. Assuming that Mozilla completes this beta phase and makes Firefox for Linux on ARM64 available on the regular "Rapid Release" channel, then the factory process could be extended - see issue #1190.

Debian packages

Debian Firefox documentation describes that Debian packages include the firefox-esr package

bookworm (stable) (web): Mozilla Firefox web browser - Extended Support Release (ESR)
115.14.0esr-1~deb12u1 [security]: amd64 arm64 armhf i386 mips64el ppc64el s390x

Choosing a Firefox update channel explains the Firefox "Extended Support Release (ESR)" channel and that it receives major updates on average every 52 weeks.

Benefits

Adding an example for Firefox-ESR benefits Cypress Docker users:

  1. with arm64 (aka aarch64) processors wanting to test Firefox
  2. who need to test against the Firefox "Extended Support Release (ESR)" version instead of a "Rapid Release" version

Change

  • Add a sub-directory firefox-esr to the examples directory.
  • Provide a working example of installing the Firefox-ESR browser and running it with Cypress.
  • Refer to the new examples/firefox-esr directory from the main README and combine the texts together with the Chromium example.

@cypress-app-bot
Copy link

@MikeMcC399

This comment was marked as resolved.

@MikeMcC399 MikeMcC399 force-pushed the firefox-esr-example branch from 1e0d9a5 to 3b1b54d Compare August 15, 2024 14:53
@MikeMcC399 MikeMcC399 marked this pull request as ready for review August 15, 2024 15:26
@MikeMcC399
Copy link
Collaborator Author

MikeMcC399 commented Aug 15, 2024

I have tested this locally on x86 with Docker Desktop for Linux and Docker Desktop for Windows. I don't personally have macOS or arm64 with Docker Desktop for Mac available to test.

Copy link
Member

@jennifer-shehane jennifer-shehane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested it on my Mac, but I don't have arm. We can collect some feedback from others. Shouldn't do much harm to merge.

@jennifer-shehane jennifer-shehane merged commit 13ac73a into cypress-io:master Aug 16, 2024
31 checks passed
@MikeMcC399
Copy link
Collaborator Author

@jennifer-shehane

I tested it on my Mac, but I don't have arm. We can collect some feedback from others. Shouldn't do much harm to merge.

Thanks for your test! I agree that there is no harm to merge (so thanks for that!). If something needs tweaking for arm64 we can add it later. Since it is only an example it does not affect the publishing workflow.

@MikeMcC399 MikeMcC399 deleted the firefox-esr-example branch August 16, 2024 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants