forked from electron/electron
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from unfoldingWord/merge-latest
Merge latest
- Loading branch information
Showing
653 changed files
with
25,359 additions
and
31,237 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
config-staging |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,6 +6,7 @@ setup: true | |
# Orbs | ||
orbs: | ||
path-filtering: circleci/[email protected] | ||
continuation: circleci/[email protected] | ||
|
||
# All input parameters to pass to build config | ||
parameters: | ||
|
@@ -43,103 +44,33 @@ parameters: | |
default: all | ||
enum: ["all", "osx-x64", "osx-arm64", "mas-x64", "mas-arm64"] | ||
|
||
# Envs | ||
env-global: &env-global | ||
ELECTRON_OUT_DIR: Default | ||
|
||
env-linux-medium: &env-linux-medium | ||
<<: *env-global | ||
NUMBER_OF_NINJA_PROCESSES: 3 | ||
|
||
# Executors | ||
executors: | ||
linux-docker: | ||
parameters: | ||
size: | ||
description: "Docker executor size" | ||
default: 2xlarge+ | ||
type: enum | ||
enum: ["medium", "xlarge", "2xlarge+"] | ||
docker: | ||
- image: ghcr.io/electron/build:27db4a3e3512bfd2e47f58cea69922da0835f1d9 | ||
resource_class: << parameters.size >> | ||
|
||
# List of always run steps | ||
step-checkout-electron: &step-checkout-electron | ||
checkout: | ||
path: src/electron | ||
|
||
steps-lint: &steps-lint | ||
steps: | ||
- *step-checkout-electron | ||
- run: | ||
name: Setup third_party Depot Tools | ||
command: | | ||
# "depot_tools" has to be checkout into "//third_party/depot_tools" so pylint.py can a "pylintrc" file. | ||
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git src/third_party/depot_tools | ||
echo 'export PATH="$PATH:'"$PWD"'/src/third_party/depot_tools"' >> $BASH_ENV | ||
- run: | ||
name: Download GN Binary | ||
command: | | ||
chromium_revision="$(grep -A1 chromium_version src/electron/DEPS | tr -d '\n' | cut -d\' -f4)" | ||
gn_version="$(curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/DEPS?format=TEXT" | base64 -d | grep gn_version | head -n1 | cut -d\' -f4)" | ||
cipd ensure -ensure-file - -root . \<<-CIPD | ||
\$ServiceURL https://chrome-infra-packages.appspot.com/ | ||
@Subdir src/buildtools/linux64 | ||
gn/gn/linux-amd64 $gn_version | ||
CIPD | ||
echo 'export CHROMIUM_BUILDTOOLS_PATH="'"$PWD"'/src/buildtools"' >> $BASH_ENV | ||
- run: | ||
name: Download clang-format Binary | ||
command: | | ||
chromium_revision="$(grep -A1 chromium_version src/electron/DEPS | tr -d '\n' | cut -d\' -f4)" | ||
sha1_path='buildtools/linux64/clang-format.sha1' | ||
curl -sL "https://chromium.googlesource.com/chromium/src/+/${chromium_revision}/${sha1_path}?format=TEXT" | base64 -d > "src/${sha1_path}" | ||
download_from_google_storage.py --no_resume --no_auth --bucket chromium-clang-format -s "src/${sha1_path}" | ||
- run: | ||
name: Run Lint | ||
command: | | ||
# gn.py tries to find a gclient root folder starting from the current dir. | ||
# When it fails and returns "None" path, the whole script fails. Let's "fix" it. | ||
touch .gclient | ||
# Another option would be to checkout "buildtools" inside the Electron checkout, | ||
# but then we would lint its contents (at least gn format), and it doesn't pass it. | ||
cd src/electron | ||
node script/yarn install --frozen-lockfile | ||
node script/yarn lint | ||
- run: | ||
name: Run Script Typechecker | ||
command: | | ||
cd src/electron | ||
node script/yarn tsc -p tsconfig.script.json | ||
# List of always run jobs. | ||
jobs: | ||
lint: | ||
executor: | ||
name: linux-docker | ||
size: medium | ||
environment: | ||
<<: *env-linux-medium | ||
<<: *steps-lint | ||
|
||
# Initial setup workflow | ||
workflows: | ||
lint: | ||
jobs: | ||
# Job inherited from path-filtering orb | ||
- path-filtering/filter: | ||
generate-config: | ||
docker: | ||
- image: cimg/node:16.14 | ||
steps: | ||
- checkout | ||
- path-filtering/set-parameters: | ||
base-revision: main | ||
# Params for mapping; `path-to-test parameter-to-set value-for-parameter` for each row | ||
mapping: | | ||
^((?!docs/).)*$ run-build-mac true | ||
^((?!docs/).)*$ run-build-linux true | ||
docs/.* run-docs-only true | ||
^((?!docs/).)*$ run-docs-only false | ||
config-path: .circleci/build_config.yml | ||
- lint | ||
- run: | ||
command: | | ||
cd .circleci/config | ||
yarn | ||
export CIRCLECI_BINARY="$HOME/circleci" | ||
curl -fLSs https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/master/install.sh | DESTDIR=$CIRCLECI_BINARY bash | ||
node build.js | ||
name: Pack config.yml | ||
- continuation/continue: | ||
configuration_path: .circleci/config-staging/built.yml | ||
parameters: /tmp/pipeline-parameters.json | ||
|
||
# Initial setup workflow | ||
workflows: | ||
setup: | ||
jobs: | ||
- generate-config |
Oops, something went wrong.