build: run on circle hosts for forks (#39858)
This commit is contained in:
parent
f6e8a42c48
commit
2791474a01
3 changed files with 28 additions and 9 deletions
|
@ -65,6 +65,9 @@ jobs:
|
||||||
curl -fLSs https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/main/install.sh | DESTDIR=$CIRCLECI_BINARY bash
|
curl -fLSs https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/main/install.sh | DESTDIR=$CIRCLECI_BINARY bash
|
||||||
node build.js
|
node build.js
|
||||||
name: Pack config.yml
|
name: Pack config.yml
|
||||||
|
- run:
|
||||||
|
name: Set params
|
||||||
|
command: node .circleci/config/params.js
|
||||||
- continuation/continue:
|
- continuation/continue:
|
||||||
configuration_path: .circleci/config-staging/built.yml
|
configuration_path: .circleci/config-staging/built.yml
|
||||||
parameters: /tmp/pipeline-parameters.json
|
parameters: /tmp/pipeline-parameters.json
|
||||||
|
|
|
@ -34,6 +34,11 @@ parameters:
|
||||||
type: enum
|
type: enum
|
||||||
default: all
|
default: all
|
||||||
enum: ["all", "osx-x64", "osx-arm64", "mas-x64", "mas-arm64"]
|
enum: ["all", "osx-x64", "osx-arm64", "mas-x64", "mas-arm64"]
|
||||||
|
|
||||||
|
large-linux-executor:
|
||||||
|
type: enum
|
||||||
|
default: electronjs/aks-linux-large
|
||||||
|
enum: ["electronjs/aks-linux-large", "2xlarge"]
|
||||||
|
|
||||||
# Executors
|
# Executors
|
||||||
executors:
|
executors:
|
||||||
|
@ -42,9 +47,9 @@ executors:
|
||||||
size:
|
size:
|
||||||
description: "Docker executor size"
|
description: "Docker executor size"
|
||||||
type: enum
|
type: enum
|
||||||
# aks-linux-medium === 8 core (32 core host, shared with other builds)
|
|
||||||
# aks-linux-large === 32 core
|
# aks-linux-large === 32 core
|
||||||
enum: ["medium", "xlarge", "electronjs/aks-linux-medium", "electronjs/aks-linux-large"]
|
# 2xlarge should not be used directly, use the pipeline param instead
|
||||||
|
enum: ["medium", "xlarge", "electronjs/aks-linux-large", "2xlarge"]
|
||||||
docker:
|
docker:
|
||||||
- image: ghcr.io/electron/build:e6bebd08a51a0d78ec23e5b3fd7e7c0846412328
|
- image: ghcr.io/electron/build:e6bebd08a51a0d78ec23e5b3fd7e7c0846412328
|
||||||
resource_class: << parameters.size >>
|
resource_class: << parameters.size >>
|
||||||
|
@ -1703,7 +1708,7 @@ jobs:
|
||||||
linux-x64-testing:
|
linux-x64-testing:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-global
|
<<: *env-global
|
||||||
<<: *env-testing-build
|
<<: *env-testing-build
|
||||||
|
@ -1720,7 +1725,7 @@ jobs:
|
||||||
linux-x64-testing-asan:
|
linux-x64-testing-asan:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-global
|
<<: *env-global
|
||||||
<<: *env-testing-build
|
<<: *env-testing-build
|
||||||
|
@ -1749,7 +1754,7 @@ jobs:
|
||||||
linux-x64-publish:
|
linux-x64-publish:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-linux-2xlarge-release
|
<<: *env-linux-2xlarge-release
|
||||||
<<: *env-release-build
|
<<: *env-release-build
|
||||||
|
@ -1772,7 +1777,7 @@ jobs:
|
||||||
linux-arm-testing:
|
linux-arm-testing:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-global
|
<<: *env-global
|
||||||
<<: *env-arm
|
<<: *env-arm
|
||||||
|
@ -1792,7 +1797,7 @@ jobs:
|
||||||
linux-arm-publish:
|
linux-arm-publish:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-linux-2xlarge-release
|
<<: *env-linux-2xlarge-release
|
||||||
<<: *env-arm
|
<<: *env-arm
|
||||||
|
@ -1817,7 +1822,7 @@ jobs:
|
||||||
linux-arm64-testing:
|
linux-arm64-testing:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-global
|
<<: *env-global
|
||||||
<<: *env-arm64
|
<<: *env-arm64
|
||||||
|
@ -1848,7 +1853,7 @@ jobs:
|
||||||
linux-arm64-publish:
|
linux-arm64-publish:
|
||||||
executor:
|
executor:
|
||||||
name: linux-docker
|
name: linux-docker
|
||||||
size: electronjs/aks-linux-large
|
size: << pipeline.parameters.large-linux-executor >>
|
||||||
environment:
|
environment:
|
||||||
<<: *env-linux-2xlarge-release
|
<<: *env-linux-2xlarge-release
|
||||||
<<: *env-arm64
|
<<: *env-arm64
|
||||||
|
|
11
.circleci/config/params.js
Normal file
11
.circleci/config/params.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const PARAMS_PATH = '/tmp/pipeline-parameters.json';
|
||||||
|
|
||||||
|
const content = JSON.parse(fs.readFileSync(PARAMS_PATH, 'utf-8'));
|
||||||
|
|
||||||
|
// Choose resource class for linux hosts
|
||||||
|
const currentBranch = process.env.CIRCLE_BRANCH || '';
|
||||||
|
content['large-linux-executor'] = /^pull\/[0-9-]+$/.test(currentBranch) ? '2xlarge' : 'electronjs/aks-linux-large';
|
||||||
|
|
||||||
|
fs.writeFileSync(PARAMS_PATH, JSON.stringify(content));
|
Loading…
Add table
Add a link
Reference in a new issue