* build: speed up release builds by using workflows
* Don't get depot-tools twice
* Do not use source from cache
* Checkout boto and requests for release builds
* Make sure vendor dirs are persisted.
* Use git cache for releases.
* show sccache stats right after build
* Make messages easier for sudowoodo to consume.
* build: preserve timestamps when stripping files
Resolves an issue where the binaries in mksnapshot.zip were not getting stripped.
* Add missing comma
* Update script/strip-binaries.py
Co-Authored-By: Jeremy Apthorp <jeremya@chromium.org>
* Don't try to run strip on macOS
Co-authored-by: Jeremy Apthorp <nornagon@nornagon.net>
* build: copy chromedriver to correct location
* build: try to free up disk space for macos releases
* get verbose mode working on strip-binaries
* Only use separate chromedriver build arm/arm64
* ci: enable goma for all testing builds
* Use powershell script to start goma on Windows
* Only run ensure_start from PS script.
* add missing percent
* Run stats via command instead of powershell
* use command env var
* Use out cache for faster mac builds
* Disable unneeded logging
* .git directories need to be delete before gn gen
Even though gn gen shows and error about a missing .git directory, the .git delete needs to happen before gn gen.
* build: don't use component_ffmpeg for chromedriver
* Fixup mac chromedriver build
* Update location of chromedriver.zip
* Fixup macos chromedriver build
* compile to right directory
* chore: bump chromium in DEPS to 68d7ef9b31f3f164a967109212e84a8d756cc80f
* Update patches
* Update location of file_info.h
* Update sysroots
* chore: bump chromium in DEPS to 47114394b1c8a35438d19da7538142380551a2ce
* Update patches
* ci: update docker image to pickup new ia32 dep
* Skip .info files in dist.zip
Co-authored-by: John Kleinschmidt <jkleinsc@github.com>
* build: cache the out directory for exact deps hash matches
* chore: generate a target based depshash discriminator
* fix: hash on gn args
* build: share logic on the mac builds
* build: ensure that the mksnapshot binary is built before stripping before zipping
* build: attach the workspace on macOS
* build: optimize the macOS checkout path for testing
* build: fix mksnapshot zip generation
* build: make the mac src cache restore work
* build: v2 out cache
* build: macOS cache restore is just stupidly slow
* build: strip more binaries
* build: attach the out cache to the workspace for macOS builds
* build: allow linux boxes to restore darwin out caches
* build: cat the deps hash target file
* build: ensure that the deps target hash matches on the linux box
* build: do not use host arch in target key
* build: force undefined in the target hash file
* build: only restore out cache when it isn't in the workspace
* build: fix the macOS cache workspace trick
* build: do not double restore
* build: remove the big stuff from the out dir
* build: workaround layer issue
* build: try it back on macOS again but with smaller thingy
* build: macOS needs the out cache now
* build: clean up for omptimal macOS path
* build: use old docker image
* build: idek at this point
* build: we need a deps hash
* build: yeah we need a checkout too
* chore: use testing env on save cache job
* chore: well that should fix the cache key thing
* chore: handle cross-OS path mismatch for src cache restore
* build: use a /portal directory to transfer the src cache appropriately
* build: use the correct docker image
* build: super perms for /portal
* build: increment out cache number
* build: ensure target hash is correct for args + disable pre-compiled headers on macOS
* build: wipe the cross-arch libffmpeg before building Electron
* build: delete unneeded files when running a release
Needed to free up disk space on MacOS.
* Delete all the .git directories
* Update comment
* Run gn gen after deleting .git dirs
* chore: add code required to use chromes spellchecker
* chore: fix linting
* chore: manifests needs buildflags now
* chore: add dictionarySuggestions to the context menu event when the spellchecker is active
* chore: enable by default for windows builds
* chore: add patch to remove incognito usage in the spellchecker
* chore: add dependencies on spellcheck common and flags
* chore: conditionally include spell check panel impl
* chore: fix deps for spellcheck feature flags
* chore: add patch for electron resources
* chore: add dependency on //components/language/core/browser
* chore: patches to make hunspell work on windows
* build: collect hunspell dictionaries into a zip file and publish
* chore: clean up patches
* chore: add docs and set spell checker url method
* chore: fix error handling
* chore: fix hash logic
* build: update hunspell filename generator
* fix: default spellchecker list to the current system locale if we can
* docs: document the language getter
* chore: patch IDS_ resources for linux builds
* feat: add spellcheck webpref flag to disable the builtin spellchecker
* chore: fix docs typo
* chore: clean up spellchecker impl as per feedback
* remove unneeded deps
* ci: skip build on doc only changes
* Try using exit codes on doc-only-change
* Fixup
* Fixup circleci doc-only check
* Update appveyor.yml
Co-Authored-By: Samuel Attard <sattard@slack-corp.com>
* Properly detect doc only change on Windows
* Flip exit code per review
* build: yolo a theoretical speed improvement
* chore: persist src/electron and friends for testing purposes
* build: do not generate dist.zip on debug builds
* chore: ensure licenses and version file exist for zip-symbols script
Currently the happy checkout takes 7 minutes and the sad checkout takes
30 minutes. This updates our CI to run checkout twice for every job to
make the sad checkout take nearer 10 minutes instead.
This allows us to have a workflow for release-builds that only runs when
we trigger it via API. This will be used to implement a /ci command to
allow folks to trigger release-style builds on their PRs.
* fix: use gn/clang-format from src
* fix: download clang-format in lint job
* chore: fix linting warning
* chore: get_path_in_buildtools => get_buildtools_executable
* chore: the clang-format npm package is not used