mirror of
https://github.com/electron/electron.git
synced 2026-01-09 15:38:08 -05:00
* chore: bump chromium in DEPS to 139.0.7242.0 * chore: update render_widget_host_view_mac.patch no code changes; just updating patch context Do a cleanup pass on the history swiper code | https://chromium-review.googlesource.com/c/chromium/src/+/6604367 * chore: update mas_avoid_private_macos_api_usage.patch.patch no code changes; just updating patch context [tracing] Delete base/trace_event/base_tracing.h | https://chromium-review.googlesource.com/c/chromium/src/+/6624012 * chore: update chore_provide_iswebcontentscreationoverridden_with_full_params.patch no manual changes; just updating patch context [ActorFramework] Refactor Actor Task Management | https://chromium-review.googlesource.com/c/chromium/src/+/6618684 * chore: update fix_move_autopipsettingshelper_behind_branding_buildflag.patch [pip] Tuck picture-in-picture windows when a file dialog is open | https://chromium-review.googlesource.com/c/chromium/src/+/6449682 Reland "[document pip] Restrict the size that a website can request" | https://chromium-review.googlesource.com/c/chromium/src/+/6372104 * chore: update feat_corner_smoothing_css_rule_and_blink_painting.patch Xref: corner-shape: constraint radii based on opposite corner overlap | https://chromium-review.googlesource.com/c/chromium/src/+/6592572 * chore: update revert_code_health_clean_up_stale_macwebcontentsocclusion.patch no manual changes; just updating patch context * chore: update fix_rename_sqlite_win32_exports_to_avoid_conflicts_with_node_js.patch no code changes; just updating patch context * chore: e patches all * Plumb Verify2QwacBinding and hook it up in QwacWebContentsObserver https://chromium-review.googlesource.com/c/chromium/src/+/6624719 * [Extensions] Remove host delegate OnMainFrameCreatedForBackgroundPage https://chromium-review.googlesource.com/c/chromium/src/+/6631123 * Extensions: Rename GetResourceURL to ResolveExtensionURL https://chromium-review.googlesource.com/c/chromium/src/+/6625053 * [NonClientFrameView] Consolidate NativeFrameViewMac https://chromium-review.googlesource.com/c/chromium/src/+/6614239 * ICWYU * [views-ax] Remove dead code WidgetAXTreeIDMap https://chromium-review.googlesource.com/c/chromium/src/+/6619701 * Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS" https://chromium-review.googlesource.com/c/chromium/src/+/6630056 * NavigationThrottleRunner2: Remove MaybeAddThrottle https://chromium-review.googlesource.com/c/chromium/src/+/6628079 * [pip] Tuck picture-in-picture windows when a file dialog is open https://chromium-review.googlesource.com/c/chromium/src/+/6449682 * build: fix snapshot_blob.bin build error xref: https://issues.chromium.org/issues/416540976 * chore: e patches all * build: freeup disk space on macos * chore: bump chromium in DEPS to 139.0.7244.0 * chore: update printing.patch no manual changes; just updating patch context * chore: remove upstreamed ignore_parse_errors_for_resolveshortcutproperties.patch Prevent Windows crash on unexpected shortcut type | https://chromium-review.googlesource.com/c/chromium/src/+/6633298 * chore: e patches all * Revert "Reland "extensions: Add `WillPrepareForEvaluation` to setup MojoJS"" This reverts commit77c4f967a6. Revert CL for the high confidence crash culprit for http://crash/28f897bb9743dfe0 | https://chromium-review.googlesource.com/c/chromium/src/+/6641819 * Fix spec's expected base64-encoded PNG strings to match upstream changes. [rust png] Enable by default. | https://chromium-review.googlesource.com/c/chromium/src/+/6085801 * chore: bump chromium in DEPS to 139.0.7246.0 * chore: e patches all * chore: bump chromium in DEPS to 139.0.7248.0 * chore: update patches * siso: Enable Siso by default for non-Google builds https://chromium-review.googlesource.com/c/chromium/src/+/6638830 Disabling for now until we are ready to build siso on all platforms. * Revert "revert Don't use static variable for UseExternalPopupMenus" This reverts commite91e3894e6. * Update mac_sdk_min to match minimum required SDK version https://chromium-review.googlesource.com/c/chromium/src/+/6493969 (cherry picked from commit3e7cbe912d) * [video pip] Use default window styling on Mac https://chromium-review.googlesource.com/c/chromium/src/+/6648665 * Reland "Force the unintentional renderer process creation check by default" https://chromium-review.googlesource.com/c/chromium/src/+/6626905 * fixup: Reland "Force the unintentional renderer process creation check by default https://chromium-review.googlesource.com/c/chromium/src/+/6626905 * chore: bump chromium in DEPS to 139.0.7249.0 * fixup: Reland "Force the unintentional renderer process creation check by default https://chromium-review.googlesource.com/c/chromium/src/+/6626905 * chore: update patches * chore: bump chromium in DEPS to 139.0.7250.0 * chore: bump chromium in DEPS to 139.0.7252.0 * chore: bump chromium in DEPS to 139.0.7254.0 * 6638187: browser level TOCTOU check for coordinate target https://chromium-review.googlesource.com/c/chromium/src/+/6638187 * chore: fixup patch indices * chore: add missing base/notimplemented includes * 6652910: [Frame Cleanup] Push down/hide implementation-specific API https://chromium-review.googlesource.com/c/chromium/src/+/6652910 * chore: bump chromium in DEPS to 139.0.7256.0 * chore: fix lint * fixup! 6652910: [Frame Cleanup] Push down/hide implementation-specific API * fix: move HandleScope location * chore: bump chromium in DEPS to 139.0.7258.0 * fixup! [NonClientFrameView] Consolidate NativeFrameViewMac * Revert "chore: bump chromium in DEPS to 139.0.7258.0" This reverts commit264b2e934f. --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com> Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> Co-authored-by: deepak1556 <hop2deep@gmail.com>
397 lines
13 KiB
YAML
397 lines
13 KiB
YAML
name: Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
build-image-sha:
|
|
type: string
|
|
description: 'SHA for electron/build image'
|
|
default: '424eedbf277ad9749ffa9219068aa72ed4a5e373'
|
|
required: true
|
|
skip-macos:
|
|
type: boolean
|
|
description: 'Skip macOS builds'
|
|
default: false
|
|
required: false
|
|
skip-linux:
|
|
type: boolean
|
|
description: 'Skip Linux builds'
|
|
default: false
|
|
required: false
|
|
skip-windows:
|
|
type: boolean
|
|
description: 'Skip Windows builds'
|
|
default: false
|
|
required: false
|
|
skip-lint:
|
|
type: boolean
|
|
description: 'Skip lint check'
|
|
default: false
|
|
required: false
|
|
push:
|
|
branches:
|
|
- main
|
|
- '[1-9][0-9]-x-y'
|
|
pull_request:
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
setup:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
pull-requests: read
|
|
outputs:
|
|
docs: ${{ steps.filter.outputs.docs }}
|
|
src: ${{ steps.filter.outputs.src }}
|
|
build-image-sha: ${{ steps.set-output.outputs.build-image-sha }}
|
|
docs-only: ${{ steps.set-output.outputs.docs-only }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.0.2
|
|
with:
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
|
|
id: filter
|
|
with:
|
|
filters: |
|
|
docs:
|
|
- 'docs/**'
|
|
src:
|
|
- '!docs/**'
|
|
- name: Set Outputs for Build Image SHA & Docs Only
|
|
id: set-output
|
|
run: |
|
|
if [ -z "${{ inputs.build-image-sha }}" ]; then
|
|
echo "build-image-sha=424eedbf277ad9749ffa9219068aa72ed4a5e373" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "build-image-sha=${{ inputs.build-image-sha }}" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
echo "docs-only=${{ steps.filter.outputs.docs == 'true' && steps.filter.outputs.src == 'false' }}" >> "$GITHUB_OUTPUT"
|
|
|
|
# Lint Jobs
|
|
lint:
|
|
needs: setup
|
|
if: ${{ !inputs.skip-lint }}
|
|
uses: ./.github/workflows/pipeline-electron-lint.yml
|
|
with:
|
|
container: '{"image":"ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}","options":"--user root"}'
|
|
secrets: inherit
|
|
|
|
# Docs Only Jobs
|
|
docs-only:
|
|
needs: setup
|
|
if: ${{ needs.setup.outputs.docs-only == 'true' }}
|
|
uses: ./.github/workflows/pipeline-electron-docs-only.yml
|
|
with:
|
|
container: '{"image":"ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}","options":"--user root"}'
|
|
secrets: inherit
|
|
|
|
# Checkout Jobs
|
|
checkout-macos:
|
|
needs: setup
|
|
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-macos}}
|
|
runs-on: electron-arc-linux-amd64-32core
|
|
container:
|
|
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
|
|
options: --user root
|
|
volumes:
|
|
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
|
- /var/run/sas:/var/run/sas
|
|
env:
|
|
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
|
outputs:
|
|
build-image-sha: ${{ needs.setup.outputs.build-image-sha }}
|
|
steps:
|
|
- name: Checkout Electron
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
with:
|
|
path: src/electron
|
|
fetch-depth: 0
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- name: Checkout & Sync & Save
|
|
uses: ./src/electron/.github/actions/checkout
|
|
with:
|
|
generate-sas-token: 'true'
|
|
target-platform: macos
|
|
|
|
checkout-linux:
|
|
needs: setup
|
|
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-linux}}
|
|
runs-on: electron-arc-linux-amd64-32core
|
|
container:
|
|
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
|
|
options: --user root
|
|
volumes:
|
|
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
|
- /var/run/sas:/var/run/sas
|
|
env:
|
|
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
|
DD_API_KEY: ${{ secrets.DD_API_KEY }}
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
|
PATCH_UP_APP_CREDS: ${{ secrets.PATCH_UP_APP_CREDS }}
|
|
outputs:
|
|
build-image-sha: ${{ needs.setup.outputs.build-image-sha}}
|
|
steps:
|
|
- name: Checkout Electron
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
with:
|
|
path: src/electron
|
|
fetch-depth: 0
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- name: Checkout & Sync & Save
|
|
uses: ./src/electron/.github/actions/checkout
|
|
with:
|
|
target-platform: linux
|
|
|
|
checkout-windows:
|
|
needs: setup
|
|
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
|
runs-on: electron-arc-linux-amd64-32core
|
|
container:
|
|
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
|
|
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
|
|
volumes:
|
|
- /mnt/win-cache:/mnt/win-cache
|
|
- /var/run/sas:/var/run/sas
|
|
env:
|
|
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
|
CHROMIUM_GIT_COOKIE_WINDOWS_STRING: ${{ secrets.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}
|
|
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_win=True'
|
|
TARGET_OS: 'win'
|
|
ELECTRON_DEPOT_TOOLS_WIN_TOOLCHAIN: '1'
|
|
outputs:
|
|
build-image-sha: ${{ needs.setup.outputs.build-image-sha}}
|
|
steps:
|
|
- name: Checkout Electron
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
|
with:
|
|
path: src/electron
|
|
fetch-depth: 0
|
|
ref: ${{ github.event.pull_request.head.sha }}
|
|
- name: Checkout & Sync & Save
|
|
uses: ./src/electron/.github/actions/checkout
|
|
with:
|
|
generate-sas-token: 'true'
|
|
target-platform: win
|
|
|
|
# GN Check Jobs
|
|
macos-gn-check:
|
|
uses: ./.github/workflows/pipeline-segment-electron-gn-check.yml
|
|
needs: checkout-macos
|
|
with:
|
|
target-platform: macos
|
|
target-archs: x64 arm64
|
|
check-runs-on: macos-15
|
|
gn-build-type: testing
|
|
secrets: inherit
|
|
|
|
linux-gn-check:
|
|
uses: ./.github/workflows/pipeline-segment-electron-gn-check.yml
|
|
needs: checkout-linux
|
|
with:
|
|
target-platform: linux
|
|
target-archs: x64 arm arm64
|
|
check-runs-on: electron-arc-linux-amd64-8core
|
|
check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
|
gn-build-type: testing
|
|
secrets: inherit
|
|
|
|
windows-gn-check:
|
|
uses: ./.github/workflows/pipeline-segment-electron-gn-check.yml
|
|
needs: checkout-windows
|
|
with:
|
|
target-platform: win
|
|
target-archs: x64 x86 arm64
|
|
check-runs-on: electron-arc-linux-amd64-8core
|
|
check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-windows.outputs.build-image-sha }}","options":"--user root --device /dev/fuse --cap-add SYS_ADMIN","volumes":["/mnt/win-cache:/mnt/win-cache"]}'
|
|
gn-build-type: testing
|
|
secrets: inherit
|
|
|
|
# Build Jobs - These cascade into testing jobs
|
|
macos-x64:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-macos
|
|
with:
|
|
build-runs-on: macos-15-xlarge
|
|
test-runs-on: macos-13
|
|
target-platform: macos
|
|
target-arch: x64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
macos-arm64:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-macos
|
|
with:
|
|
build-runs-on: macos-15-xlarge
|
|
test-runs-on: macos-14
|
|
target-platform: macos
|
|
target-arch: arm64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
linux-x64:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test-and-nan.yml
|
|
needs: checkout-linux
|
|
with:
|
|
build-runs-on: electron-arc-linux-amd64-32core
|
|
test-runs-on: electron-arc-linux-amd64-4core
|
|
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
|
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
|
target-platform: linux
|
|
target-arch: x64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
linux-x64-asan:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-linux
|
|
with:
|
|
build-runs-on: electron-arc-linux-amd64-32core
|
|
test-runs-on: electron-arc-linux-amd64-4core
|
|
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
|
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
|
target-platform: linux
|
|
target-arch: x64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
is-asan: true
|
|
secrets: inherit
|
|
|
|
linux-arm:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-linux
|
|
with:
|
|
build-runs-on: electron-arc-linux-amd64-32core
|
|
test-runs-on: electron-arc-linux-arm64-4core
|
|
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
|
test-container: '{"image":"ghcr.io/electron/test:arm32v7-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init","volumes":["/home/runner/externals:/mnt/runner-externals"]}'
|
|
target-platform: linux
|
|
target-arch: arm
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
linux-arm64:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-linux
|
|
with:
|
|
build-runs-on: electron-arc-linux-amd64-32core
|
|
test-runs-on: electron-arc-linux-arm64-4core
|
|
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
|
test-container: '{"image":"ghcr.io/electron/test:arm64v8-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
|
target-platform: linux
|
|
target-arch: arm64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
windows-x64:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-windows
|
|
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
|
with:
|
|
build-runs-on: electron-arc-windows-amd64-16core
|
|
test-runs-on: windows-latest
|
|
target-platform: win
|
|
target-arch: x64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
windows-x86:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-windows
|
|
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
|
with:
|
|
build-runs-on: electron-arc-windows-amd64-16core
|
|
test-runs-on: windows-latest
|
|
target-platform: win
|
|
target-arch: x86
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
windows-arm64:
|
|
permissions:
|
|
contents: read
|
|
issues: read
|
|
pull-requests: read
|
|
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
|
needs: checkout-windows
|
|
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
|
with:
|
|
build-runs-on: electron-arc-windows-amd64-16core
|
|
test-runs-on: electron-hosted-windows-arm64-4core
|
|
target-platform: win
|
|
target-arch: arm64
|
|
is-release: false
|
|
gn-build-type: testing
|
|
generate-symbols: false
|
|
upload-to-storage: '0'
|
|
secrets: inherit
|
|
|
|
gha-done:
|
|
name: GitHub Actions Completed
|
|
runs-on: ubuntu-latest
|
|
needs: [docs-only, macos-x64, macos-arm64, linux-x64, linux-x64-asan, linux-arm, linux-arm64, windows-x64, windows-x86, windows-arm64]
|
|
if: always() && !contains(needs.*.result, 'failure')
|
|
steps:
|
|
- name: GitHub Actions Jobs Done
|
|
run: |
|
|
echo "All GitHub Actions Jobs are done"
|