* refactor: use js instead of boto for s3put
* replace merge-electron-checksums.py with js, remove boto
* fix auth
* actually pass the env to execute()
* 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
* build: move zip manifest logic in zip_manifests dir
* build: remove unused get-version.py script
* chore: move all release/sudowoodo related scripts into script/releases
* chore: update paths to zip manifests in CI configs
* build: fix path to ci release build script for arm tests
When we blast off again, we check out a commit so the current branch ends up being incorrect and is HEAD rather than X-Y-Z. This therefore no longer just runs git rev-parse --abbrev-ref HEAD; it instead checks to ensure that the result of that call matches the release branch pattern. If it doesn't, it fetches the containing branch for the commit.
Since we only ever blast off from bump commits, we can safely assume that only one release branch will ever contain the bump commit and therefore be the one we want to use when tagging the release on npm.
Legacy print statements are syntax errors in Python 3 but print() function works as expected in both Python 2 and Python 3.
Old style exceptions are syntax errors in Python 3 but new style exceptions work as expected in both Python 2 and Python 3.
* build: unify YARN_VERSION variable usage and ensure CI uses yarn not npm
* chore: use a JS helper so that it can work on windows
* chore: make script/yarn without node_modules installed
* build: ensure consistent package-lock across multiple machines
* build: fix linting errors and use npm ci instead of npm install
* build: use a yarn.lock and yarn instead of package-lock and npm
* chore: replace package-lock.json files with yarn.lock
* chore: replace last instance of `npm install`