Files
wehub-resource-sync 542cfa195c
CI / Frontend build (push) Failing after 9m6s
CI / Plugin validate (push) Failing after 9m27s
CI / Python lint (push) Failing after 16m1s
CI / Tests (push) Successful in 18m0s
Deploy / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:33:27 +08:00

60 lines
2.2 KiB
YAML

# Build the patched headless_shell (pixelshot turbo capture path) and attach it
# to a `chrome-<version>` release. Manually triggered.
#
# NOTE: a full Chromium build needs ~100 GB disk and 1-2 h. GitHub-hosted runners
# cannot fit it, so this targets SELF-HOSTED runners that have depot_tools, a
# Chromium checkout, and the platform toolchain. Label your runners with
# `chromium-build` plus the OS. macOS binaries must be codesigned/notarized
# (add the signing step for your Apple account). See render/chrome-build/BUILD.md.
name: chrome-build
on:
workflow_dispatch:
inputs:
version:
description: "Chromium version tag (matches chrome.py CHROME_VERSION)"
required: true
default: "150.0.7844.0"
platform:
description: "Target platform"
required: true
type: choice
default: linux-x64
options: [linux-x64, darwin-arm64, darwin-x64, win-x64]
jobs:
build:
# Pick the self-hosted runner matching the requested platform.
runs-on: [self-hosted, chromium-build, "${{ inputs.platform }}"]
timeout-minutes: 480
steps:
- name: Checkout repo (for the patch + build script)
uses: actions/checkout@v4
- name: Build patched headless_shell
shell: bash
env:
CHROMIUM_DIR: ${{ env.CHROMIUM_DIR }} # set on the runner: path to chromium checkout
run: |
test -n "$CHROMIUM_DIR" || { echo "runner must set CHROMIUM_DIR"; exit 1; }
bash render/chrome-build/build-headless-shell.sh
- name: Package
shell: bash
run: |
BIN="$CHROMIUM_DIR/src/out/Headless"
mkdir -p dist
tar --use-compress-program=zstd -cf \
"dist/headless_shell-${{ inputs.platform }}.tar.zst" \
-C "$BIN" headless_shell headless_shell.pak 2>/dev/null \
|| tar --use-compress-program=zstd -cf \
"dist/headless_shell-${{ inputs.platform }}.tar.zst" -C "$BIN" headless_shell
# macOS: add a codesign + notarize step here before upload.
- name: Upload to release
uses: softprops/action-gh-release@v2
with:
tag_name: chrome-${{ inputs.version }}
files: dist/headless_shell-${{ inputs.platform }}.tar.zst