* 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
* 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
* 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*
- 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
* ci: do not build ffmpeg for every PR on CircleCI
* ci: build and run unittests in a separate workflow on CircleCI
* ci: build chromedriver in a separate job
- explicitly mark jobs that should use sccache
- explicitly mark jobs that should send Slack notifications
- remove unnecessary env vars and checks
- build and verify ffmpeg, and build native mksnapshot nightly
- add "native" to the native mksnapshot jobs names
- minor changes
* ci: migrate libcc's Dockerfile to electron and update it
* Added nano and sudo
* Use new docker image in CircleCi
* installing nodejs needs curl
* Add needed dependencies
nacl contains dependencies needed for arm and ia32 builds
* chore: update mksnapshot and ffmpeg for GN
* fix typo
* add non-native builds to CI
* split mksnapshot build and store steps
* Fix config order
* Use different targets for mksnapshot and native_mksnapshot
mksnapshot gets built in electron_app as part of the v8 build, so copy it from there
* Revert "Use different targets for mksnapshot and native_mksnapshot"
This reverts commit 6a1a50aa69.
* Try specifying v8_snapshot_toolchain
* Fix v8_snapshot_toolchain reference
* Fix artifact locations
* Test native mksnapshot
* Add support for multiple mocha reporters
Allows us to output to junit file and to console at the same time
* Cleanup VSTS file
Don't install depot_tools everytime as it is already installed.
Only run tests if "RUN_TESTS" environment variable is set
Only notify slack if "NOTIFY_SLACK" environment variable is set
Don't use sccache for release builds
Move CircleCI mac builds to VSTS
* Only build mac PRS from forks
Don't install depot_tools everytime as it is already installed.
Only run tests if "RUN_TESTS" environment variable is set
Only notify slack if "NOTIFY_SLACK" environment variable is set
Don't use sccache for release builds
Move CircleCI mac builds to VSTS
Use sccache helper script
* rename vsts-gn.yml to vsts.yml
Make sure Electron isn't running before starting tests
* build: update-external-binaries fetches sccache
* build: add util.add_exec_bit in scripts/
* build: use util.add_exec_bit in create-dist
* build: use util.add_exec_bit in update-external-binaries
this is needed to work around a bug in python's zipfile module that doesn't preserve the exec bit
https://bugs.python.org/issue18262
* fix: linting errors
* build: vsts, circleci use patched sccache
* build: always look for the x64 sccache
as it's the only arch we have it on
* fix: windows-specific errors in updaste-external-binaries
* fix: tyop
* fix: set SCCACHE_BUCKET, SCCACHE_TWO_TIER on circleci
* fix: syntax error in circleci yaml
* fix: keep churning
* chore: add tracer to file downloader
* docs: add sccache instructions for GN builds
* build: pull down the darwin sccache on mas builds
* build: use gn sync verbosely on circleci and vsts
* docs: copyediting
* build: remove unnecessary cache-dir arg
* docs: fix shell quoting in gn build instructions
* fix: invoke gclient without -verbose in circleci
* refactor: remove debug tracer
* fix: invoke gclient without -verbose in appveyor
* fix: invoke gclient without -verbose in vsts
* fix: pull add_exec_bit from correct source
* fix: remove 'SCCACHE_TWO_TIER' from CI scripts
* refactor: remove SCCACHE_BUCKET from ci scripts
this environment variable will be set via the CI UI instead
* refactor: clarify log message
* fix: set SCCACHE_PATH correctly for Windows CI
* build: [gn] add distributable zip target
* build: update the CircleCI config
- enable debug and testing builds on Mac
- run Mac release builds nightly
- run test for Mac release builds
- use shared build machines configs
* Add resources dir to zip on non mac platforms.
* build: add GIT_CACHE_PATH
The merge at https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/1105473 was to specify git cache entirely from the environment variable [and] removal of the general --cache-dir option from gclient
* docs: document GIT_CACHE_PATH in GN build
* fix: try to fix appveyor-gn env syntax
* build: add config to build Electron for tests
* build: run nightly linux builds for the 3-0-x branch
* build: gn: update CI config for linux builds
- run GN debug and testing builds for PRs (as FYI)
- do not run tests for GN debug builds
- run GN release builds nightly
* build: gn: run testing builds on CI instead of release on Windows
Should save some time since release builds set 'official_build=true'
which make the builds take much more time.
* build: gn: use testing config to run CI jobs on Mac
Tests should run faster for testing builds.
Devs can still locally override or add settings by adding lines after
the `import` statement in args.gn.
This will help make sure that everyone has a common set of build args,
and will allow us to update everyone's build args in git.
* Bump electronbuilds/electron* versions
The linux-appname branch has been gathering dust for awhile.
Some of the versions in `master` are higher, and some of the
versions in `linux-appname` are higher to add libnotify.
This commit takes the higher of the two numbers in each case.
* Add libnotify to the Dockerfiles
It appears that the arm build failing with a core dump is a false positive. Testing the latest arm build from master on a raspberry pi 2, it does not core dump.
Note that our CI server is not ready for mips64el yet, so the binaries
of libcc are not available yet. Currently it is downloading the binaries
created by me manually, we should redirect to the official mirror before
merging this PR.