electron/script
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
..
codesign spec: add tests for the autoUpdater on macOS that actually test if it works (#17442) 2019-03-29 17:32:52 -07:00
lib chore: save HEAD when git-import-patches runs (#17824) 2019-04-17 11:16:03 -07:00
release-notes chore: 'breaking change' in PR body overrides commit type in relnotes (#16911) 2019-02-12 21:30:39 -08:00
.electron.attributes build: ensure we use objc regexps for export-patches (#17598) 2019-03-28 14:01:43 -07:00
apply_all_patches.py build: store the patches config in a json file (#15395) 2018-11-05 17:31:28 +01:00
bump-version.js feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
check-relative-doc-links.py chore: fix relative links in docs and enforce we dont break them again (#14832) 2018-09-28 13:16:38 +10:00
check-trailing-whitespace.py build: auto-fix whitespace in docs in pre-commit hook (#17490) 2019-03-21 12:15:55 -07:00
ci-release-build.js build: remove non-arm vstsJobs (#16793) 2019-02-06 13:36:17 -08:00
dbus_mock.py refactor: use one script to launch all linters (#14622) 2018-09-17 16:09:02 -05:00
download-circleci-artifacts.js ci: Trigger an arm test on VSTS after CircleCI build (#14898) 2018-10-04 12:01:16 -04:00
dump-symbols.py build: use different directory for generated breakpad symbols (#15716) 2018-11-14 12:47:01 -08:00
external-binaries.json build: extract external binaries config 2019-01-07 10:44:08 +01:00
find-release.js chore: refactor scripts for octokit update (#16284) 2019-01-08 12:05:58 -08:00
gen-filenames.js build: auto-generate the browserify step GN inputs (#17626) 2019-04-02 17:12:10 -07:00
generate-deps-hash.js build: optimize the happy path when syncing on CI (#17827) 2019-04-22 15:36:59 -07:00
get-last-major-for-master.js chore: convert bump script to js (#15820) 2018-12-06 11:00:10 -08:00
get-version.py
git-export-patches chore: save HEAD when git-import-patches runs (#17824) 2019-04-17 11:16:03 -07:00
git-import-patches chore: save HEAD when git-import-patches runs (#17824) 2019-04-17 11:16:03 -07:00
gn-asar.js build: use async remove method to handle errors better (#16917) 2019-03-26 10:34:03 +09:00
lint.js chore: move ts-smoke tests to core (#16930) 2019-02-13 15:24:28 -08:00
merge-electron-checksums.py
native-tests.py ci: run more Chromium unit tests (#15363) 2018-10-25 14:28:50 -04:00
prepare-release.js fix: improve release notes (#16343) 2019-01-10 14:01:38 -06:00
publish-to-npm.js chore: refactor scripts for octokit update (#16284) 2019-01-08 12:05:58 -08:00
pump.py chore: fix python lint warnings (#14638) 2018-09-16 12:24:07 -05:00
release-artifact-cleanup.js chore: always try to nuke tags (#16451) 2019-01-18 14:00:15 -08:00
release.js build: fix individual asset downloading in release script (#16493) 2019-01-23 11:47:36 -08:00
run-clang-format.py chore: add --fix option to lint:cpp (#14977) 2018-10-15 22:59:45 -07:00
run-gn-format.py chore: auto-format GN and python files in our precommit (#16722) 2019-02-05 13:54:45 -08:00
spec-runner.js spec: add tests for the autoUpdater on macOS that actually test if it works (#17442) 2019-03-29 17:32:52 -07:00
start.js chore: refactor scripts for octokit update (#16284) 2019-01-08 12:05:58 -08:00
strip-binaries.py ci: strip linux binaries for release builds (#14991) 2018-10-09 16:19:05 -04:00
sysroots.json feat: Upgrade to Chromium 71.0.3578.98 (#15966) 2019-01-11 17:00:43 -08:00
tls.py chore: fix relative links in docs and enforce we dont break them again (#14832) 2018-09-28 13:16:38 +10:00
update-external-binaries.py ci: make macOS CI faster (#16766) 2019-02-06 13:16:11 -08:00
upload-index-json.py build: ensure index.json is actually valid JSON before uploading (#16518) 2019-02-05 11:36:31 -08:00
upload-node-checksums.py chore: fix out_dir usage in upload-node-checksums.py 2018-09-28 11:16:38 +10:00
upload-node-headers.py chore: fix out_dir usage in upload-symbols.py 2018-09-28 11:24:50 +10:00
upload-symbols.py build: ensure that the uploaded symbol path is correct for our symbol (#16908) 2019-02-12 14:10:24 -08:00
upload-to-github.js Revert "build: hack around GitHub upload API failure / flake (#16663)" (#16802) 2019-02-06 16:51:45 -08:00
upload.py build: remove native mksnapshot for arm/arm64 (#17561) 2019-03-28 11:05:43 -04:00
verify-ffmpeg.py fixme: dont use --enable-logging on the ffmpeg verify phase 2018-10-10 13:11:10 +11:00
verify-mksnapshot.py chore: bump chromium to 1e9f9a24aa12 (master) (#17880) 2019-04-20 10:20:37 -07:00
zip-symbols.py build: use different directory for generated breakpad symbols (#15716) 2018-11-14 12:47:01 -08:00