Update Chromium Upgrade docs
This commit is contained in:
parent
c4634f7e98
commit
6a285e2e76
1 changed files with 25 additions and 59 deletions
|
@ -5,27 +5,42 @@ on each Chromium upgrade in Electron.
|
||||||
|
|
||||||
## Update libchromiumcontent (a.k.a. libcc)
|
## Update libchromiumcontent (a.k.a. libcc)
|
||||||
|
|
||||||
- Update the `VERSION` file at the root of the `electron/libchromiumcontent`
|
- Clone the repo:
|
||||||
repository.
|
```
|
||||||
|
git clone git@github.com:electron/libchromiumcontent.git
|
||||||
|
cd libchromiumcontent
|
||||||
|
```
|
||||||
|
- Run bootstrap script to init and sync git submodules:
|
||||||
|
```
|
||||||
|
./script/bootstrap -v
|
||||||
|
```
|
||||||
|
- Update `VERSION` file to correspond to Chromium version.
|
||||||
- Run `script/update`, it will probably fail applying patches.
|
- Run `script/update`, it will probably fail applying patches.
|
||||||
- Fix failing patches. `script/patch.py` might help.
|
- Fix failing patches. `script/patch.py` might help.
|
||||||
- Don't forget to fix patches in the `patches-mas/` folder.
|
- Don't forget to fix patches in the `patches-mas/` folder.
|
||||||
- Make sure compilation succeeds on at least one supported platform/arch.
|
- Build libcc:
|
||||||
- Open a pull request on `electron/libchromiumcontent` with the changes.
|
```
|
||||||
|
./script/build
|
||||||
|
```
|
||||||
|
- Create dist folders which will be used by electron:
|
||||||
|
```
|
||||||
|
./script/create-dist --no_zip
|
||||||
|
cd dist/main
|
||||||
|
../../tools/generate_filenames_gypi filenames.gypi src shared_library static_library
|
||||||
|
cd -
|
||||||
|
```
|
||||||
|
- Open a pull request to `electron/libchromiumcontent` with the changes.
|
||||||
- Fix compilation on the all supported platforms/arches.
|
- Fix compilation on the all supported platforms/arches.
|
||||||
|
|
||||||
## Fix Electron code
|
## Update Electron
|
||||||
|
|
||||||
- Set `vendor/libchromiumcontent` revision to a version with the new Chromium.
|
- Set `vendor/libchromiumcontent` revision to a version with the new Chromium.
|
||||||
- It will be great if GH builds for this libcc version are already green
|
- It will be great if GH builds for this libcc version are already green
|
||||||
and its archives are already available. Otherwise everyone would need
|
and its archives are already available. Otherwise everyone would need
|
||||||
to build libcc locally in order to try build a new Electron.
|
to build libcc locally in order to try build a new Electron.
|
||||||
- Set `CLANG_REVISION` in `script/update-clang.sh` to match the version
|
- Set `CLANG_REVISION` in `script/update-clang.sh` to match the version
|
||||||
Chromium is using in `tools/clang/scripts/update.py`.
|
Chromium is using. You can find it in file `src/tools/clang/scripts/update.py` in updated `electron/libchromiumcontent` repo.
|
||||||
If you don't have a Chromium checkout you can find it there:
|
- Run `script/bootstrap.py`.
|
||||||
https://chromium.googlesource.com/chromium/src.git/+/{VERSION}/tools/clang/scripts/update.py
|
|
||||||
(Just change the `{VERSION}` in the URL to the Chromium version you need.)
|
|
||||||
- Don't forget to (re)run `script/bootstrap.py`.
|
|
||||||
- Upgrade Node.js if you are willing to. See the notes below.
|
- Upgrade Node.js if you are willing to. See the notes below.
|
||||||
- Fix compilation.
|
- Fix compilation.
|
||||||
- Open a pull request on `electron/electron` with the changes.
|
- Open a pull request on `electron/electron` with the changes.
|
||||||
|
@ -46,55 +61,6 @@ on each Chromium upgrade in Electron.
|
||||||
**TODO**
|
**TODO**
|
||||||
|
|
||||||
|
|
||||||
==OLD STUFF==
|
|
||||||
|
|
||||||
# Upgrading Chrome Checklist
|
|
||||||
This document is meant to serve as an overview of what steps are needed
|
|
||||||
on each Chrome upgrade in Electron.
|
|
||||||
|
|
||||||
These are things to do in addition to updating the Electron code for any
|
|
||||||
Chrome/Node API changes.
|
|
||||||
|
|
||||||
- Verify the new Chrome version is available from
|
|
||||||
https://github.com/zcbenz/chromium-source-tarball/releases
|
|
||||||
- Update the `VERSION` file at the root of the `electron/libchromiumcontent`
|
|
||||||
repository
|
|
||||||
- Update the `CLANG_REVISION` in `script/update-clang.sh` to match the version
|
|
||||||
Chrome is using in `libchromiumcontent/src/tools/clang/scripts/update.py`
|
|
||||||
- Upgrade `vendor/node` to the Node release that corresponds to the v8 version
|
|
||||||
being used in the new Chrome release. See the v8 versions in Node on
|
|
||||||
https://nodejs.org/en/download/releases for more details
|
|
||||||
- Upgrade `vendor/crashpad` for any crash reporter changes needed
|
|
||||||
- Upgrade `vendor/depot_tools` for any build tools changes needed
|
|
||||||
- Update the `libchromiumcontent` SHA-1 to download in `script/lib/config.py`
|
|
||||||
- Open a pull request on `electron/libchromiumcontent` with the changes
|
|
||||||
- Open a pull request on `electron/electron` with the changes
|
|
||||||
- This should include upgrading the submodules in `vendor/` as needed
|
|
||||||
- Verify debug builds succeed on:
|
|
||||||
- macOS
|
|
||||||
- 32-bit Windows
|
|
||||||
- 64-bit Window
|
|
||||||
- 32-bit Linux
|
|
||||||
- 64-bit Linux
|
|
||||||
- ARM Linux
|
|
||||||
- Verify release builds succeed on:
|
|
||||||
- macOS
|
|
||||||
- 32-bit Windows
|
|
||||||
- 64-bit Window
|
|
||||||
- 32-bit Linux
|
|
||||||
- 64-bit Linux
|
|
||||||
- ARM Linux
|
|
||||||
- Verify tests pass on:
|
|
||||||
- macOS
|
|
||||||
- 32-bit Windows
|
|
||||||
- 64-bit Window
|
|
||||||
- 32-bit Linux
|
|
||||||
- 64-bit Linux
|
|
||||||
- ARM Linux
|
|
||||||
|
|
||||||
==/OLD STUFF==
|
|
||||||
|
|
||||||
|
|
||||||
## Verify ffmpeg Support
|
## Verify ffmpeg Support
|
||||||
|
|
||||||
Electron ships with a version of `ffmpeg` that includes proprietary codecs by
|
Electron ships with a version of `ffmpeg` that includes proprietary codecs by
|
||||||
|
|
Loading…
Add table
Reference in a new issue