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
+2 -2
View File
@@ -1,7 +1,7 @@
name: Setup Node environment name: Setup Node environment
description: > description: >
Checkout with submodule retry, install Node 22, pnpm, optionally Bun, Initialize submodules with retry, install Node 22, pnpm, optionally Bun,
and run pnpm install. Used by CI gates and test jobs. and run pnpm install. Requires actions/checkout to run first.
inputs: inputs:
node-version: node-version:
description: Node.js version to install. description: Node.js version to install.
+8
View File
@@ -443,6 +443,14 @@ jobs:
swiftlint --config .swiftlint.yml swiftlint --config .swiftlint.yml
swiftformat --lint apps/macos/Sources --config .swiftformat 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) - name: Swift build (release)
run: | run: |
set -euo pipefail set -euo pipefail
+5 -2
View File
@@ -1,6 +1,6 @@
--- ---
title: CI Pipeline 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 # 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/`) The `setup-node-env` composite action (`.github/actions/setup-node-env/`)
handles the shared setup boilerplate: handles the shared setup boilerplate:
- Submodule checkout with retry (5 attempts) - Submodule init/update with retry (5 attempts, exponential backoff)
- Node.js 22 setup - Node.js 22 setup
- pnpm via corepack + store cache - pnpm via corepack + store cache
- Optional Bun install - Optional Bun install
- `pnpm install` with retry - `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. This eliminates ~40 lines of duplicated YAML per job.
## Push vs PR Behavior ## Push vs PR Behavior