Commit graph

138 commits

Author SHA1 Message Date
Samuel Attard
e9114b3c00
build: optimize the happy path when syncing on CI (#17827)
* build: optimize the happy path when syncing on CI

This adds a new cache for the "src" directory that is only ever used if
the cache key matches exactly.  If there is no exact match we fall back
to the old strategy of using the git cache.

On the happy path this can make the checkout on linux/macOS take around
5-6 minutes which is **significantly** faster than the original 15-18
minutes.

* build: sort readdir result to ensure stability

* build: increment cache key

* Update config.yml

* build: ensure that the cleanly checked out Electron has had hooks run on it

* build: do not remove deps/v8

* build: ensure clean git directory when generating deps hash

* chore: add comments to caching logic

* Update .circleci/config.yml

Co-Authored-By: MarshallOfSound <samuel.r.attard@gmail.com>
2019-04-22 15:36:59 -07:00
Samuel Attard
5d45b59f7f
Merge pull request #17507 from electron/chromium-upgrade/75
chore: update to chromium 75.0.3740.3
2019-04-03 13:17:37 -07:00
Jeremy Apthorp
53f6cbccbf
refactor: use mojo for electron internal IPC (#17406)
* refactor: use mojo for electron internal IPC

* add sender_id, drop MessageSync

* remove usages of AtomFrameMsg_Message

* iwyu

* first draft of renderer->browser direction

* refactor to reuse a single ipc interface

* implement TakeHeapSnapshot through mojo

* the rest of the owl^WtakeHeapSnapshot mojofication

* remove no-op overrides in AtomRendererClient

* delete renderer-side ElectronApiServiceImpl when its pipe is destroyed

* looks like we don't need to overlay the renderer manifest after all

* don't try to send 2 replies to a sync rpc

* undo changes to manifests.cc

* unify sandboxed + unsandboxed ipc events

* lint

* register ElectronBrowser mojo service on devtools WebContents

* fix takeHeapSnapshopt failure paths

* {electron_api => atom}::mojom

* add send_to_all to ElectronRenderer::Message

* keep interface alive until callback is called

* review comments

* use GetContext from RendererClientBase

* robustify a test that uses window.open

* MessageSync posts a task to put sync messages in the same queue as async ones

* add v8::MicrotasksScope and node::CallbackScope

* iwyu

* use weakptr to api::WebContents instead of Unretained

* make MessageSync an asynchronous message & use non-associated interface

* iwyu + comments

* remove unused WeakPtrFactory

* inline OnRendererMessage[Sync]

* cleanups & comments

* use helper methods instead of inline lambdas

* remove unneeded async in test

* add mojo to manifests deps

* add gn check for //electron/manifests and mojo

* don't register renderer side service until preload has been run

* update gn check targets list

* move interface registration back to RenderFrameCreated
2019-04-02 15:38:16 -07:00
Jeremy Apthorp
9819433e88 fixup! download gn from cipd instead of GCS 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
e2f0852c30 fixup! download gn from cipd instead of GCS 2019-04-02 14:43:03 -07:00
Jeremy Apthorp
9cc4cb2934 download gn from cipd instead of GCS
https://chromium-review.googlesource.com/c/chromium/src/+/1519726
2019-04-02 14:43:03 -07:00
Samuel Attard
b8dbe4bc15
spec: add tests for the autoUpdater on macOS that actually test if it works (#17442)
* spec: add tests for the autoUpdater on macOS that actually test if it works

* spec: add express as dep

* spec: add logic to auto-trust self-signed certificate and not run autoupdate specs on MAS

* build: fix the step name for importing the codesign cert

* chore: update updater spec PR as per feedback

* fix: s/atomBinding/electronBinding

* build: use spawn instead of exec
2019-03-29 17:32:52 -07:00
John Kleinschmidt
7eaa57b116
build: remove native mksnapshot for arm/arm64 (#17561)
* build: remove native mksnapshot for arm/arm64
2019-03-28 11:05:43 -04:00
Jeremy Apthorp
6555be2636 chore: bump chromium to 74.0.3729.27 (master) (#17345)
* chore: bump chromium to 74.0.3729.5 (master)

* Remove ScopedBlockingCall constructor without location

https://chromium-review.googlesource.com/c/chromium/src/+/1496560

* Use XCode 9.4.1 for Mac SDK 10.13

* chore: roll chromium 74.0.3729.27
2019-03-21 11:45:22 -04:00
Samuel Attard
1571461bae
build: add a workaround for circleci known_hosts issue (#17471) 2019-03-19 19:37:52 -07:00
Samuel Attard
ca701bb9af
spec: initial spike of main-process based tests 2019-03-14 12:50:06 -07:00
deepak1556
8043e2e278 build: only download gn binary for lint step 2019-03-08 15:06:16 -08:00
deepak1556
ffc32d8130 Move buildtools into src
https://chromium-review.googlesource.com/c/chromium/src/+/1450459
2019-03-08 15:06:16 -08:00
Robo
7936237677
build: enable gn check for //electron:electron_lib (#17100)
* build: enable gn check for //electron:electron_lib

* ci: add gn check step

* ci: set depot_tools path

* chrome_key_systems_provider.h nogncheck

* chore: fix gn check errors on windows

* chore: gn check //electron:electron_app
2019-03-05 10:38:55 +05:30
Robo
83894dc5db
ci: fix binaries for chromedriver build on macOS (#16893) 2019-02-12 16:14:52 +05:30
Samuel Attard
23b84917e0 ci: set MAS_BUILD=true on mas builds (#16824) 2019-02-08 10:12:18 -08:00
Samuel Attard
17c240a639
ci: make macOS CI faster (#16766)
* ci: cache brew update result

* ci: checkout and sync the macOS build on a linux machine for speed
2019-02-06 13:16:11 -08:00
Samuel Attard
fc06458038
ci: run lint on CircleCI (#16791) 2019-02-06 12:53:25 -08:00
John Kleinschmidt
0a047194b6
ci: move mac release tests to nightly cron job (#16685) 2019-02-01 15:07:23 -05:00
John Kleinschmidt
2f35c98e76
ci: build mac on CircleCI (#16552) 2019-01-31 12:59:32 -05:00
Jeremy Apthorp
ad3ea6ec53
ci: re-enable logging on CI (#16257) 2019-01-23 11:28:34 -08:00
John Kleinschmidt
34ac68c4a8
ci: Update build timeouts (#16492)
* Update timeout for native_mksnapshot and use bigger machines

* Revert "build: temporarily disable arm to unblock nightlies (#16479)"

This reverts commit 51961fccfa.
2019-01-22 16:14:01 -05:00
John Kleinschmidt
c0f6a44e39 Try longer timeout on electron build 2019-01-22 10:32:07 -08:00
Shelley Vohr
9c7f6affc2
Revert "ci: use config version 2.1 on CircleCI (#15665)" (#16304)
This reverts commit 0c46a7a4d9.
2019-01-07 11:59:45 -08:00
John Kleinschmidt
77f73830e8 build: Enable arm embedded builtins (#15939)
* Revert "FIXME: disable v8 embedded builtins feature for arm flavor"

This reverts commit 8ec3bc0272.

* build: don't enable embedded builtins for arm/arm64 native mksnapshot
2018-12-04 11:17:12 +09:00
John Kleinschmidt
515525cfc6
ci: Renable ffmpeg and mksnapshot tests on Azure Devops (#15800)
* ci: Renable ffmpeg and mksnapshot tests on VSTS

Also, add testing of ffmpeg and mksnapshot to arm tests
2018-11-30 11:17:01 -05:00
John Kleinschmidt
bb7c63c052
build: fix native_mksnapshot build (#15770)
* build: fix native_mksnapshot build

When we changed our electron_mksnapshot_zip target to include the v8_context_snapshot_generator, this dependency made the `run_mksnapshot` target run which was trying to run an arm/arm64 binary on x64 hardware.

Don't use custom build args for native_mksnapshot as they are not needed

* Added comment on why snapshot_blob.bin is skipped on arm/arm64
2018-11-21 15:19:19 -05:00
John Kleinschmidt
b53a858400
build: use different directory for generated breakpad symbols (#15716) 2018-11-14 12:47:01 -08:00
Alexey Kuzmin
0c46a7a4d9 ci: use config version 2.1 on CircleCI (#15665) 2018-11-12 11:22:21 -08:00
John Kleinschmidt
9e2b7dbea5
ci: add testing for mksnapshot (#15627)
* ci: add testing for mksnapshot
2018-11-09 10:54:17 -04:00
Alexey Kuzmin
9b05381acc build: make pyyaml an optional dependency (#15565) 2018-11-05 11:19:00 -04:00
Alexey Kuzmin
ec4a0e096f ci: run more Chromium unit tests (#15363)
* test: add an option to native tests runner to run also disabled tests

* ci: run all native tests on clean Chromium

* ci: update the disabled tests list for native unittests
2018-10-25 14:28:50 -04:00
John Kleinschmidt
9086b8067b ci: make sure brew installed node is available in path (#15377) 2018-10-25 11:40:23 +11:00
Alexey Kuzmin
5e199152e2 ci: run unittests on clean Chromium (#15125)
* ci: run unittests on clean Chromium

* test: add '--run-only-disabled-tests' flag to "script/native-tests.py"

* ci: add a job to run only disabled unittests

* test: use a different GN config for the native tests

* test: enable blink_common_unittests

* test: disable WeakPtrDeathTest*
2018-10-22 16:12:19 -04:00
Alexey Kuzmin
ba7ce7225b
build: document env vars expected to be set for the CI configs (#15129)
* ci: add a var for a full path to an Electron build config
* ci: document external environment variables used by the CI build configs
2018-10-20 01:44:36 +02:00
John Kleinschmidt
047cad1a4d ci: Fix timeout when generating breakpad symbols (#15126)
* ci: breakup dump symbols into multiple steps.

* Update step-zip-symbols
2018-10-13 13:02:52 +11:00
Alexey Kuzmin
a9646e3414 ci: strip linux binaries for nightly release builds (#15063) 2018-10-11 13:41:48 +11:00
Samuel Attard
ed065f0106
chore: dont run nightly jobs for everything
Refs: a71c814d19
2018-10-10 16:37:59 +11:00
Samuel Attard
a5c3091c34 chore: remove --enable-logging, causing issues on CI 2018-10-10 12:11:16 +11:00
Aleksei Kuzmin
a71c814d19 fixme: always run "nightly-release-test" workflow 2018-10-09 14:39:39 -07:00
Jeremy Apthorp
26a46b6b4b ci: enable stack dumping in tests 2018-10-09 14:39:39 -07:00
John Kleinschmidt
1cf00274ab
ci: strip linux binaries for release builds (#14991) 2018-10-09 16:19:05 -04:00
Alexey Kuzmin
7df51eef3c
ci: fix breakpad symbols generation on CircleCI for PRs from forks (#15026)
E.g. https://circleci.com/gh/electron/electron/78458
2018-10-08 23:56:15 +02:00
Alexey Kuzmin
918488a2f0
ci: various fixes (#15004)
- ci: don't send Slack notifications for the "linux-ia32-testing-tests" job
 - ci: fix symbols collection job on VSTS
 - ci: run tests on Windows for both "testing" and "release" builds
2018-10-07 16:05:20 +02:00
Alexey Kuzmin
b45dc78751
ci: fix breakpad symbols generation (#14981) 2018-10-06 01:55:06 +02:00
Alexey Kuzmin
5eeff55e83
ci: better Slack notifications for nightly jobs (#14985)
- do not report success from Eletron build jobs
 - report failures from more jobs
 - add separate summary jobs to report success
2018-10-06 01:15:38 +02:00
John Kleinschmidt
643781578e
ci: fix environment variables for fork prs (#14995)
Fixes #14984
Fixes xvfb for fork prs
Sets up sccache as readonly for fork prs.
2018-10-05 16:06:52 -04:00
John Kleinschmidt
8abe43ac8b
Save build artifacts for debug builds (#14992) 2018-10-05 11:11:51 -04:00
Samuel Attard
657901c2ff
chore: specify -j18 for electron ninja call 2018-10-05 10:21:36 +10:00
Alexey Kuzmin
0857ecf478 build: make boto and requests optional dependencies (#14970) 2018-10-04 20:20:25 -04:00