ci: add SwiftPM cache, fix Mintlify frontmatter (#12863)

* ci: add SwiftPM cache to macOS job, fix action description

* ci: fix frontmatter, remove DerivedData cache
This commit is contained in:
max
2026-02-09 12:40:58 -08:00
committed by GitHub
parent 0b7e561434
commit 65dae9a088
3 changed files with 15 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
name: Setup Node environment
description: >
Checkout with submodule retry, install Node 22, pnpm, optionally Bun,
and run pnpm install. Used by CI gates and test jobs.
Initialize submodules with retry, install Node 22, pnpm, optionally Bun,
and run pnpm install. Requires actions/checkout to run first.
inputs:
node-version:
description: Node.js version to install.

View File

@@ -443,6 +443,14 @@ jobs:
swiftlint --config .swiftlint.yml
swiftformat --lint apps/macos/Sources --config .swiftformat
- name: Cache SwiftPM
uses: actions/cache@v4
with:
path: ~/Library/Caches/org.swift.swiftpm
key: ${{ runner.os }}-swiftpm-${{ hashFiles('apps/macos/Package.resolved') }}
restore-keys: |
${{ runner.os }}-swiftpm-
- name: Swift build (release)
run: |
set -euo pipefail

View File

@@ -1,6 +1,6 @@
---
title: CI Pipeline
description: How the OpenClaw CI pipeline works and why jobs are ordered the way they are. Latest changes: Feb 09, 2026
description: How the OpenClaw CI pipeline works and why jobs are ordered the way they are.
---
# CI Pipeline
@@ -128,12 +128,15 @@ The analysis skips: `node_modules`, `dist`, `vendor`, `.git`, `coverage`,
The `setup-node-env` composite action (`.github/actions/setup-node-env/`)
handles the shared setup boilerplate:
- Submodule checkout with retry (5 attempts)
- Submodule init/update with retry (5 attempts, exponential backoff)
- Node.js 22 setup
- pnpm via corepack + store cache
- Optional Bun install
- `pnpm install` with retry
The `macos` job also caches SwiftPM packages (`~/Library/Caches/org.swift.swiftpm`)
to speed up dependency resolution.
This eliminates ~40 lines of duplicated YAML per job.
## Push vs PR Behavior