generated from SAP/repository-template
-
Notifications
You must be signed in to change notification settings - Fork 16
Release Scheduling
David K. edited this page Sep 12, 2024
·
2 revisions
High level plan for releases and versioning. As Foxhound is mainly used together with Playwright automation framework, new releases are done to coincide with releases of Playwright.
Foxhound development is done on top of the current Playwright patch (in other words Foxhound will always be one release behind Playwright). Performing the release means tagging the release (of Playwright n-1) and then updating the Firefox code to the next version.
- Check the current version of Firefox which Foxhound is based on and create a new Github release with the Firefox version as a tag.
- Add the Playwright version, and the Git hash of the Firefox baseline commit. This can be found in the Playwright repo: e.g. https://github.com/microsoft/playwright/blob/release-1.40/browser_patches/firefox/UPSTREAM_CONFIG.sh
- Add any other release features related to tainting.
- Create the release
Now comes the fun part - updating and merging from Firefox upstream.
- Find out which Firefox hash is used in the next Playwright release (from e.g. https://github.com/microsoft/playwright/blob/release-1.40/browser_patches/firefox/UPSTREAM_CONFIG.sh)
- In a local checkout, switch to the ````firefox-release``` branch (https://github.com/SAP/project-foxhound/tree/firefox-release)
- Pull the corresponding hash commit from the Firefox release branch (https://github.com/mozilla/gecko-dev/tree/release) and push to the Foxhound release branch
- Switch to the Foxhound main branch
- Merge the specific commit to main
- Fix merge conflicts, compile issues and runtime crashes
- Update the .PLAYWRIGHT_VERSION file
Once running, create a pull request to merge to the new version.
Add any new features on top of this new baseline.