ci: Speed up release (#22126)
* 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.
This commit is contained in:
parent
8b89c3cade
commit
023a3ca722
2 changed files with 291 additions and 67 deletions
|
@ -41,6 +41,14 @@ parameters:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: false
|
default: false
|
||||||
|
|
||||||
|
run-linux-publish:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
|
run-macos-publish:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
|
||||||
# The config expects the following environment variables to be set:
|
# The config expects the following environment variables to be set:
|
||||||
# - "SLACK_WEBHOOK" Slack hook URL to send notifications.
|
# - "SLACK_WEBHOOK" Slack hook URL to send notifications.
|
||||||
#
|
#
|
||||||
|
@ -1030,56 +1038,6 @@ steps-electron-ts-compile-for-doc-change: &steps-electron-ts-compile-for-doc-cha
|
||||||
#Compile ts/js to verify doc change didn't break anything
|
#Compile ts/js to verify doc change didn't break anything
|
||||||
- *step-ts-compile
|
- *step-ts-compile
|
||||||
|
|
||||||
steps-electron-build-for-publish: &steps-electron-build-for-publish
|
|
||||||
steps:
|
|
||||||
- *step-checkout-electron
|
|
||||||
- *step-depot-tools-get
|
|
||||||
- *step-depot-tools-add-to-path
|
|
||||||
- *step-restore-brew-cache
|
|
||||||
- *step-get-more-space-on-mac
|
|
||||||
- *step-gclient-sync
|
|
||||||
- *step-setup-env-for-build
|
|
||||||
- *step-delete-git-directories
|
|
||||||
- *step-minimize-workspace-size-from-checkout
|
|
||||||
- *step-gn-gen-default
|
|
||||||
|
|
||||||
# Electron app
|
|
||||||
- *step-electron-build
|
|
||||||
- *step-maybe-generate-breakpad-symbols
|
|
||||||
- *step-maybe-electron-dist-strip
|
|
||||||
- *step-electron-dist-build
|
|
||||||
- *step-electron-dist-store
|
|
||||||
- *step-maybe-zip-symbols
|
|
||||||
- *step-symbols-store
|
|
||||||
|
|
||||||
# mksnapshot
|
|
||||||
- *step-mksnapshot-build
|
|
||||||
- *step-mksnapshot-store
|
|
||||||
|
|
||||||
# chromedriver
|
|
||||||
- *step-electron-maybe-chromedriver-gn-gen
|
|
||||||
- *step-electron-chromedriver-build
|
|
||||||
- *step-electron-chromedriver-store
|
|
||||||
|
|
||||||
# Node.js headers
|
|
||||||
- *step-nodejs-headers-build
|
|
||||||
- *step-nodejs-headers-store
|
|
||||||
|
|
||||||
# ffmpeg
|
|
||||||
- *step-ffmpeg-gn-gen
|
|
||||||
- *step-ffmpeg-build
|
|
||||||
- *step-ffmpeg-store
|
|
||||||
|
|
||||||
# hunspell
|
|
||||||
- *step-hunspell-build
|
|
||||||
- *step-hunspell-store
|
|
||||||
|
|
||||||
# typescript defs
|
|
||||||
- *step-maybe-generate-typescript-defs
|
|
||||||
|
|
||||||
# Publish
|
|
||||||
- *step-electron-publish
|
|
||||||
|
|
||||||
steps-chromedriver-build: &steps-chromedriver-build
|
steps-chromedriver-build: &steps-chromedriver-build
|
||||||
steps:
|
steps:
|
||||||
- attach_workspace:
|
- attach_workspace:
|
||||||
|
@ -1304,6 +1262,12 @@ commands:
|
||||||
use-out-cache:
|
use-out-cache:
|
||||||
type: boolean
|
type: boolean
|
||||||
default: true
|
default: true
|
||||||
|
restore-src-cache:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
preserve-vendor-dirs:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
steps:
|
steps:
|
||||||
- when:
|
- when:
|
||||||
condition: << parameters.attach >>
|
condition: << parameters.attach >>
|
||||||
|
@ -1330,17 +1294,38 @@ commands:
|
||||||
- *step-get-more-space-on-mac
|
- *step-get-more-space-on-mac
|
||||||
- *step-generate-deps-hash
|
- *step-generate-deps-hash
|
||||||
- *step-touch-sync-done
|
- *step-touch-sync-done
|
||||||
|
- when:
|
||||||
|
condition: << parameters.restore-src-cache >>
|
||||||
|
steps:
|
||||||
- maybe-restore-portaled-src-cache
|
- maybe-restore-portaled-src-cache
|
||||||
- *step-maybe-restore-git-cache
|
- *step-maybe-restore-git-cache
|
||||||
- *step-set-git-cache-path
|
- *step-set-git-cache-path
|
||||||
# This sync call only runs if .circle-sync-done is an EMPTY file
|
# This sync call only runs if .circle-sync-done is an EMPTY file
|
||||||
- *step-gclient-sync
|
- *step-gclient-sync
|
||||||
# These next few steps reset Electron to the correct commit regardless of which cache was restored
|
# These next few steps reset Electron to the correct commit regardless of which cache was restored
|
||||||
|
- when:
|
||||||
|
condition: << parameters.preserve-vendor-dirs >>
|
||||||
|
steps:
|
||||||
|
- run:
|
||||||
|
name: Preserve vendor dirs for release
|
||||||
|
command: |
|
||||||
|
mv src/electron/vendor/boto .
|
||||||
|
mv src/electron/vendor/requests .
|
||||||
- run:
|
- run:
|
||||||
name: Wipe Electron
|
name: Wipe Electron
|
||||||
command: rm -rf src/electron
|
command: rm -rf src/electron
|
||||||
- *step-checkout-electron
|
- *step-checkout-electron
|
||||||
- *step-run-electron-only-hooks
|
- *step-run-electron-only-hooks
|
||||||
|
- when:
|
||||||
|
condition: << parameters.preserve-vendor-dirs >>
|
||||||
|
steps:
|
||||||
|
- run:
|
||||||
|
name: Preserve vendor dirs for release
|
||||||
|
command: |
|
||||||
|
rm -rf src/electron/vendor/boto
|
||||||
|
rm -rf src/electron/vendor/requests
|
||||||
|
mv boto src/electron/vendor
|
||||||
|
mv requests src/electron/vendor/requests
|
||||||
- *step-generate-deps-hash-cleanly
|
- *step-generate-deps-hash-cleanly
|
||||||
- *step-mark-sync-done
|
- *step-mark-sync-done
|
||||||
- *step-minimize-workspace-size-from-checkout
|
- *step-minimize-workspace-size-from-checkout
|
||||||
|
@ -1444,6 +1429,76 @@ commands:
|
||||||
|
|
||||||
- *step-maybe-notify-slack-failure
|
- *step-maybe-notify-slack-failure
|
||||||
|
|
||||||
|
electron-publish:
|
||||||
|
parameters:
|
||||||
|
attach:
|
||||||
|
type: boolean
|
||||||
|
default: false
|
||||||
|
checkout:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
steps:
|
||||||
|
- when:
|
||||||
|
condition: << parameters.attach >>
|
||||||
|
steps:
|
||||||
|
- attach_workspace:
|
||||||
|
at: .
|
||||||
|
- when:
|
||||||
|
condition: << parameters.checkout >>
|
||||||
|
steps:
|
||||||
|
- *step-depot-tools-get
|
||||||
|
- *step-depot-tools-add-to-path
|
||||||
|
- *step-restore-brew-cache
|
||||||
|
- *step-get-more-space-on-mac
|
||||||
|
- when:
|
||||||
|
condition: << parameters.checkout >>
|
||||||
|
steps:
|
||||||
|
- *step-checkout-electron
|
||||||
|
- *step-gclient-sync
|
||||||
|
- *step-delete-git-directories
|
||||||
|
- *step-minimize-workspace-size-from-checkout
|
||||||
|
- *step-fix-sync-on-mac
|
||||||
|
- *step-setup-env-for-build
|
||||||
|
- *step-gn-gen-default
|
||||||
|
|
||||||
|
# Electron app
|
||||||
|
- *step-electron-build
|
||||||
|
- *step-show-sccache-stats
|
||||||
|
- *step-maybe-generate-breakpad-symbols
|
||||||
|
- *step-maybe-electron-dist-strip
|
||||||
|
- *step-electron-dist-build
|
||||||
|
- *step-electron-dist-store
|
||||||
|
- *step-maybe-zip-symbols
|
||||||
|
- *step-symbols-store
|
||||||
|
|
||||||
|
# mksnapshot
|
||||||
|
- *step-mksnapshot-build
|
||||||
|
- *step-mksnapshot-store
|
||||||
|
|
||||||
|
# chromedriver
|
||||||
|
- *step-electron-maybe-chromedriver-gn-gen
|
||||||
|
- *step-electron-chromedriver-build
|
||||||
|
- *step-electron-chromedriver-store
|
||||||
|
|
||||||
|
# Node.js headers
|
||||||
|
- *step-nodejs-headers-build
|
||||||
|
- *step-nodejs-headers-store
|
||||||
|
|
||||||
|
# ffmpeg
|
||||||
|
- *step-ffmpeg-gn-gen
|
||||||
|
- *step-ffmpeg-build
|
||||||
|
- *step-ffmpeg-store
|
||||||
|
|
||||||
|
# hunspell
|
||||||
|
- *step-hunspell-build
|
||||||
|
- *step-hunspell-store
|
||||||
|
|
||||||
|
# typescript defs
|
||||||
|
- *step-maybe-generate-typescript-defs
|
||||||
|
|
||||||
|
# Publish
|
||||||
|
- *step-electron-publish
|
||||||
|
|
||||||
# List of all jobs.
|
# List of all jobs.
|
||||||
jobs:
|
jobs:
|
||||||
# Layer 0: Lint. Standalone.
|
# Layer 0: Lint. Standalone.
|
||||||
|
@ -1461,6 +1516,20 @@ jobs:
|
||||||
<<: *steps-electron-ts-compile-for-doc-change
|
<<: *steps-electron-ts-compile-for-doc-change
|
||||||
|
|
||||||
# Layer 1: Checkout.
|
# Layer 1: Checkout.
|
||||||
|
linux-checkout:
|
||||||
|
<<: *machine-linux-2xlarge
|
||||||
|
environment:
|
||||||
|
<<: *env-linux-2xlarge
|
||||||
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
|
steps:
|
||||||
|
- electron-build:
|
||||||
|
persist: false
|
||||||
|
build: false
|
||||||
|
checkout: true
|
||||||
|
persist-checkout: true
|
||||||
|
restore-src-cache: false
|
||||||
|
preserve-vendor-dirs: true
|
||||||
|
|
||||||
linux-checkout-fast:
|
linux-checkout-fast:
|
||||||
<<: *machine-linux-2xlarge
|
<<: *machine-linux-2xlarge
|
||||||
environment:
|
environment:
|
||||||
|
@ -1504,6 +1573,22 @@ jobs:
|
||||||
checkout: true
|
checkout: true
|
||||||
persist-checkout: true
|
persist-checkout: true
|
||||||
|
|
||||||
|
mac-checkout:
|
||||||
|
<<: *machine-linux-2xlarge
|
||||||
|
environment:
|
||||||
|
<<: *env-linux-2xlarge
|
||||||
|
<<: *env-testing-build
|
||||||
|
<<: *env-macos-build
|
||||||
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
|
steps:
|
||||||
|
- electron-build:
|
||||||
|
persist: false
|
||||||
|
build: false
|
||||||
|
checkout: true
|
||||||
|
persist-checkout: true
|
||||||
|
restore-src-cache: false
|
||||||
|
preserve-vendor-dirs: true
|
||||||
|
|
||||||
mac-checkout-fast:
|
mac-checkout-fast:
|
||||||
<<: *machine-linux-2xlarge
|
<<: *machine-linux-2xlarge
|
||||||
environment:
|
environment:
|
||||||
|
@ -1591,7 +1676,22 @@ jobs:
|
||||||
<<: *env-release-build
|
<<: *env-release-build
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
<<: *steps-electron-build-for-publish
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
linux-x64-publish-skip-checkout:
|
||||||
|
<<: *machine-linux-2xlarge
|
||||||
|
environment:
|
||||||
|
<<: *env-linux-2xlarge-release
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
linux-ia32-testing:
|
linux-ia32-testing:
|
||||||
<<: *machine-linux-2xlarge
|
<<: *machine-linux-2xlarge
|
||||||
|
@ -1640,7 +1740,24 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
<<: *env-32bit-release
|
<<: *env-32bit-release
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
<<: *steps-electron-build-for-publish
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
linux-ia32-publish-skip-checkout:
|
||||||
|
<<: *machine-linux-2xlarge
|
||||||
|
environment:
|
||||||
|
<<: *env-linux-2xlarge-release
|
||||||
|
<<: *env-ia32
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
<<: *env-32bit-release
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
linux-arm-testing:
|
linux-arm-testing:
|
||||||
<<: *machine-linux-2xlarge
|
<<: *machine-linux-2xlarge
|
||||||
|
@ -1690,7 +1807,24 @@ jobs:
|
||||||
<<: *env-32bit-release
|
<<: *env-32bit-release
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
<<: *steps-electron-build-for-publish
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
linux-arm-publish-skip-checkout:
|
||||||
|
<<: *machine-linux-2xlarge
|
||||||
|
environment:
|
||||||
|
<<: *env-linux-2xlarge-release
|
||||||
|
<<: *env-arm
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
<<: *env-32bit-release
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
linux-arm64-testing:
|
linux-arm64-testing:
|
||||||
<<: *machine-linux-2xlarge
|
<<: *machine-linux-2xlarge
|
||||||
|
@ -1747,7 +1881,23 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm64=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm64=True --custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
<<: *steps-electron-build-for-publish
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
linux-arm64-publish-skip-checkout:
|
||||||
|
<<: *machine-linux-2xlarge
|
||||||
|
environment:
|
||||||
|
<<: *env-linux-2xlarge-release
|
||||||
|
<<: *env-arm64
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
osx-testing:
|
osx-testing:
|
||||||
<<: *machine-mac-large
|
<<: *machine-mac-large
|
||||||
|
@ -1801,7 +1951,22 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
<<: *steps-electron-build-for-publish
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
osx-publish-skip-checkout:
|
||||||
|
<<: *machine-mac-large
|
||||||
|
environment:
|
||||||
|
<<: *env-mac-large-release
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
mas-testing:
|
mas-testing:
|
||||||
<<: *machine-mac-large
|
<<: *machine-mac-large
|
||||||
|
@ -1859,7 +2024,23 @@ jobs:
|
||||||
<<: *env-enable-sccache
|
<<: *env-enable-sccache
|
||||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_boto=True --custom-var=checkout_requests=True'
|
||||||
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
<<: *steps-electron-build-for-publish
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: false
|
||||||
|
checkout: true
|
||||||
|
|
||||||
|
mas-publish-skip-checkout:
|
||||||
|
<<: *machine-mac-large
|
||||||
|
environment:
|
||||||
|
<<: *env-mac-large-release
|
||||||
|
<<: *env-mas
|
||||||
|
<<: *env-release-build
|
||||||
|
<<: *env-enable-sccache
|
||||||
|
UPLOAD_TO_S3: << pipeline.parameters.upload-to-s3 >>
|
||||||
|
steps:
|
||||||
|
- electron-publish:
|
||||||
|
attach: true
|
||||||
|
checkout: false
|
||||||
|
|
||||||
# Layer 3: Tests.
|
# Layer 3: Tests.
|
||||||
linux-x64-unittests:
|
linux-x64-unittests:
|
||||||
|
@ -2149,6 +2330,27 @@ workflows:
|
||||||
# will need to be updated and there will most likely need to be changes to
|
# will need to be updated and there will most likely need to be changes to
|
||||||
# sudowoodo
|
# sudowoodo
|
||||||
|
|
||||||
|
publish-linux:
|
||||||
|
when: << pipeline.parameters.run-linux-publish >>
|
||||||
|
jobs:
|
||||||
|
- linux-checkout
|
||||||
|
- linux-x64-publish-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- linux-checkout
|
||||||
|
context: release-env
|
||||||
|
- linux-ia32-publish-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- linux-checkout
|
||||||
|
context: release-env
|
||||||
|
- linux-arm-publish-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- linux-checkout
|
||||||
|
context: release-env
|
||||||
|
- linux-arm64-publish-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- linux-checkout
|
||||||
|
context: release-env
|
||||||
|
|
||||||
publish-x64-linux:
|
publish-x64-linux:
|
||||||
when: << pipeline.parameters.run-linux-x64-publish >>
|
when: << pipeline.parameters.run-linux-x64-publish >>
|
||||||
jobs:
|
jobs:
|
||||||
|
@ -2185,6 +2387,17 @@ workflows:
|
||||||
- mas-publish:
|
- mas-publish:
|
||||||
context: release-env
|
context: release-env
|
||||||
|
|
||||||
|
publish-macos:
|
||||||
|
when: << pipeline.parameters.run-macos-publish >>
|
||||||
|
jobs:
|
||||||
|
- mac-checkout
|
||||||
|
- osx-publish-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- mac-checkout
|
||||||
|
- mas-publish-skip-checkout:
|
||||||
|
requires:
|
||||||
|
- mac-checkout
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
when: << pipeline.parameters.run-lint >>
|
when: << pipeline.parameters.run-lint >>
|
||||||
jobs:
|
jobs:
|
||||||
|
|
|
@ -23,6 +23,11 @@ const circleCIJobs = [
|
||||||
'osx-publish'
|
'osx-publish'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
const circleCIPublishWorkflows = [
|
||||||
|
'linux-publish',
|
||||||
|
'macos-publish'
|
||||||
|
]
|
||||||
|
|
||||||
const vstsArmJobs = [
|
const vstsArmJobs = [
|
||||||
'electron-arm-testing',
|
'electron-arm-testing',
|
||||||
'electron-arm64-testing',
|
'electron-arm64-testing',
|
||||||
|
@ -87,6 +92,10 @@ async function circleCIcall (targetBranch, job, options) {
|
||||||
if (workflowId === -1) {
|
if (workflowId === -1) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
const workFlowUrl = `https://circleci.com/workflow-run/${workflowId}`
|
||||||
|
if (options.runningPublishWorkflows) {
|
||||||
|
console.log(`CircleCI release workflow request for ${job} successful. Check ${workFlowUrl} for status.`)
|
||||||
|
} else {
|
||||||
console.log(`CircleCI release build workflow running at https://circleci.com/workflow-run/${workflowId} for ${job}.`)
|
console.log(`CircleCI release build workflow running at https://circleci.com/workflow-run/${workflowId} for ${job}.`)
|
||||||
const jobNumber = await getCircleCIJobNumber(workflowId)
|
const jobNumber = await getCircleCIJobNumber(workflowId)
|
||||||
if (jobNumber === -1) {
|
if (jobNumber === -1) {
|
||||||
|
@ -94,6 +103,7 @@ async function circleCIcall (targetBranch, job, options) {
|
||||||
}
|
}
|
||||||
const jobUrl = `https://circleci.com/gh/electron/electron/${jobNumber}`
|
const jobUrl = `https://circleci.com/gh/electron/electron/${jobNumber}`
|
||||||
console.log(`CircleCI release build request for ${job} successful. Check ${jobUrl} for status.`)
|
console.log(`CircleCI release build request for ${job} successful. Check ${jobUrl} for status.`)
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Error calling CircleCI: ', err)
|
console.log('Error calling CircleCI: ', err)
|
||||||
}
|
}
|
||||||
|
@ -232,7 +242,8 @@ function buildCircleCI (targetBranch, options) {
|
||||||
assert(circleCIJobs.includes(options.job), `Unknown CircleCI job name: ${options.job}. Valid values are: ${circleCIJobs}.`)
|
assert(circleCIJobs.includes(options.job), `Unknown CircleCI job name: ${options.job}. Valid values are: ${circleCIJobs}.`)
|
||||||
circleCIcall(targetBranch, options.job, options)
|
circleCIcall(targetBranch, options.job, options)
|
||||||
} else {
|
} else {
|
||||||
circleCIJobs.forEach((job) => circleCIcall(targetBranch, job, options))
|
options.runningPublishWorkflows = true
|
||||||
|
circleCIPublishWorkflows.forEach((job) => circleCIcall(targetBranch, job, options))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue