name: Warm shared CI platform caches on: push: branches: [main] paths: - '.github/workflows/ci-cache-warmup.yml' - '.github/workflows/ci-cache-warmup-platform-jobs.yml' - '.github/workflows/ci-cache-warmup-platforms.yml' - '.github/actions/install-node-dependencies/**' - '.github/actions/restore-pnpm-verification/**' - '.github/actions/prepare-native-runtime/**' - '.github/actions/prepare-windows-cli-launcher/**' - '.github/actions/prepare-windows-agent-hook/**' - 'config/scripts/windows-rust-build-scope.mjs' - '.github/actions/prepare-orcad-prebuilds/**' - 'config/scripts/native-dependency-lock-digest.mjs' - 'config/scripts/orcad-windows-prebuild-cache.mjs' - 'config/scripts/shared-native-build.mjs' - 'config/scripts/shared-tree-publish.mjs' - 'config/scripts/native-build-entry*.cjs' - 'config/scripts/orcad-prebuild-node-gyp.mjs' - 'config/scripts/msbuild-file-tracking.mjs' - 'config/scripts/windows-pe-imports.mjs' - 'config/scripts/build-orcad-prebuilds.mjs' - 'config/scripts/orcad-prebuild-slot-contents.mjs' - 'config/scripts/pinned-node-downloads.mjs' - 'config/scripts/update-node-runtime-pin.mjs' - 'config/scripts/build-workspace-packages.mjs' - 'src/shared/node-runtime-pin.ts' - 'src/packages/process-host/**' - '.github/actions/prepare-git-compatibility/**' - '.github/actions/prepare-linux-package-fixture/**' - 'config/docker/headless-serve-shutdown/**' - 'config/docker/cli-launch-contract/**' - 'config/docker/daemon-shutdown-descendants/**' - 'package.json' - 'pnpm-lock.yaml' - 'pnpm-workspace.yaml' - '.npmrc' - 'config/pnpmfile.cjs' - 'config/scripts/ensure-native-runtime.mjs' - 'config/scripts/initialize-windows-native-toolchain.mjs' - 'config/scripts/capture-windows-native-environment.cmd' - 'config/scripts/rebuild-native-deps.mjs' - 'config/scripts/node-pty-job-ownership.cjs' - 'config/scripts/windows-pe-machine.cjs' - 'config/scripts/windows-process-tree-gyp-rebuild.mjs' - 'config/scripts/windows-process-tree-creation-time.cjs' - 'config/scripts/install-electron-package-binary.mjs' - 'config/scripts/electron-platform-path.mjs' - 'config/scripts/zip-extractor-command.mjs' - 'src/shared/zip-extractor-command.ts' - 'config/scripts/shared-electron-dist-cache.mjs' - 'config/scripts/space-sharing-copy.mjs' - 'config/patches/**' - 'native/windows-registry/**' - 'native/windows-security/**' - 'native/windows-cli-launcher/**' - 'native/windows-agent-hook/**' - 'config/scripts/build-windows-cli-launcher.mjs' - 'config/scripts/build-windows-agent-hook.mjs' - 'config/scripts/windows-rust-executable-build.mjs' - 'resources/build/icon.ico' - 'mobile/Gemfile' - 'mobile/Gemfile.lock' pull_request: types: [opened, synchronize, reopened, ready_for_review, converted_to_draft] paths: - '.github/workflows/ci-cache-warmup-platforms.yml' - '.github/workflows/ci-cache-warmup-platform-jobs.yml' permissions: contents: read concurrency: group: ci-cache-warmup-platforms-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: ${{ github.event_name == 'pull_request' }} jobs: warm-platforms: if: github.event_name != 'pull_request' || github.event.pull_request.draft != true uses: ./.github/workflows/ci-cache-warmup-platform-jobs.yml