Skip to content

Conversation

@MikeMcC399
Copy link
Collaborator

@MikeMcC399 MikeMcC399 commented Mar 5, 2025

Situation

  • Until now, Cypress Docker images only had access to x86 versions of Firefox. The examples/firefox-esr additionally demonstrated how to build Firefox from the ESR (Extended Support Release) channel into a custom Cypress Docker image.

  • With the release of Firefox 136.0, Mozilla announced:

    On Linux, Firefox is now available on ARM64 (AArch64), with installation options via APT and tarballs. Flatpak support is coming soon.

  • factory/installScripts/firefox skips installation if x64 is not detected. This prevents any attempt to install Firefox for arm64.

Change

Modify scripts in factory/installScripts/firefox to allow installing Firefox arm64 in addition to amd64:

CDN is

  • https://download-installer.cdn.mozilla.net/pub/firefox/releases/<version>/linux-x86_64/en-US/ for amd64
  • https://download-installer.cdn.mozilla.net/pub/firefox/releases/<version>/linux-aarch64/en-US/ for arm64 (new)

This change is backwards-compatible with previous versions of Firefox.

Add Firefox arm tests to factory/test-project/docker-compose.yml. These tests could be made required in GitHub branch protection rules at a later stage.

In factory/.env make the following updates:

Environment variable Before After
FACTORY_VERSION 5.4.0 5.5.0
FACTORY_DEFAULT_NODE_VERSION 22.14.0 no change
CHROME_VERSION 134.0.6998.88-1 no change
EDGE_VERSION 134.0.3124.51-1 no change
FIREFOX_VERSION 136.0.1 no change

Outcome

  • Custom Cypress Docker images built for the arm64 architecture can contain Firefox >=136.0
  • When FIREFOX_VERSION or FACTORY_DEFAULT_NODE_VERSION is bumped in any future PR, any new Debian Linux arm64 Cypress Docker images cypress/browsers and cypress/included will include Firefox

@cypress-app-bot
Copy link

@MikeMcC399 MikeMcC399 self-assigned this Mar 5, 2025
@MikeMcC399 MikeMcC399 marked this pull request as ready for review March 5, 2025 13:58
@MikeMcC399 MikeMcC399 marked this pull request as draft March 5, 2025 19:04
@MikeMcC399

This comment was marked as outdated.

@MikeMcC399

This comment was marked as outdated.

@MikeMcC399 MikeMcC399 marked this pull request as ready for review March 6, 2025 06:28
@MikeMcC399 MikeMcC399 force-pushed the add/firefox-arm-factory branch 2 times, most recently from 6d71074 to 8cfe1d3 Compare March 11, 2025 17:14
@MikeMcC399
Copy link
Collaborator Author

@jennifer-shehane / @AtofStryker

This PR is ready for review and merge.

There is effectively no change for the amd64 (x64) images. They continue to include Firefox.
For arm64 images the functionality is improved by adding Firefox as the only browser apart from Electron.
Browser versions are also all bumped to latest as well.

This seems like a good addition.

As a follow-up, documentation should be updated, however I don't think this PR should be held up waiting for documentation, as it is only an addition. Nothing is being lost. It also gives the opportunity to test with the released Cypress Docker images before updating the documentation.

@MikeMcC399 MikeMcC399 marked this pull request as draft March 12, 2025 19:57
@MikeMcC399 MikeMcC399 force-pushed the add/firefox-arm-factory branch from d51b5f8 to cb30f9c Compare March 12, 2025 20:13
@MikeMcC399
Copy link
Collaborator Author

Re-based on Cypress 14.2.0

@MikeMcC399 MikeMcC399 marked this pull request as ready for review March 12, 2025 20:27
Copy link
Contributor

@AtofStryker AtofStryker left a comment

Choose a reason for hiding this comment

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

Hey @MikeMcC399 . Sorry for the delay in the review here. Just been a bit caught up with some other things. Everything looks good here. Going to merge in

@AtofStryker AtofStryker merged commit a64d356 into cypress-io:master Mar 13, 2025
42 checks passed
@MikeMcC399
Copy link
Collaborator Author

@AtofStryker

Sorry for the delay in the review here. Just been a bit caught up with some other things. Everything looks good here. Going to merge in

Many thanks for reviewing and merging in! I will follow up with a documentation PR soon.

@MikeMcC399 MikeMcC399 deleted the add/firefox-arm-factory branch March 13, 2025 18:06
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.

Enable Firefox arm64 in cypress/factory build

3 participants