Bake sccache into the SDK image and enable it via RUSTC_WRAPPER in CI and the devcontainer (not repo-wide, so non-SDK builds are unaffected). - container/Containerfile: install the sccache musl binary. - ci.yml: RUSTC_WRAPPER=sccache, CARGO_INCREMENTAL=0, SCCACHE_DIR=/sccache, cache size cap, plus a `sccache --show-stats` step per job. - runner-config.example.yaml: bind-mount /var/cache/sccache into job containers so the cache persists across runs and is shared between jobs. - .devcontainer: enable sccache with a named cache volume. Assisted-By: Claude Code (claude-opus-4) Claude-Session: https://claude.ai/code/session_01NFpGtGTWUEYXLwZeZs2RAV Signed-off-by: Stan Grams <sjg@haxx.space>
36 lines
1.2 KiB
YAML
36 lines
1.2 KiB
YAML
# SPDX-FileCopyrightText: 2026 Stan Grams <sjg@haxx.space>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
#
|
|
# Example act_runner config for the Docker-executor runner that lives in the
|
|
# CI VM. This is NOT the SDK image — it configures the runner that launches
|
|
# per-job containers (including the trx-rs SDK image referenced by the
|
|
# workflow's `container:` key). Copy to the VM and pass with
|
|
# `act_runner daemon --config`.
|
|
|
|
log:
|
|
level: info
|
|
|
|
runner:
|
|
file: .runner
|
|
# One concurrent job. With one runner per project on a 2-vCPU VM this keeps
|
|
# total CI usage at ~2 threads.
|
|
capacity: 1
|
|
timeout: 3h
|
|
# Docker executor: no ":host" suffix. Maps runs-on labels to base images
|
|
# (the workflow overrides these per job via `container:`).
|
|
labels:
|
|
- "ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
|
|
|
|
cache:
|
|
enabled: true
|
|
|
|
container:
|
|
# Cap every job container's CPU so CI stays within the 2-thread budget even
|
|
# if capacity is raised later. The -v mount persists the sccache cache on the
|
|
# host (create it first: `mkdir -p /var/cache/sccache`), matching SCCACHE_DIR
|
|
# in the workflow.
|
|
options: "--cpus=2 -v /var/cache/sccache:/sccache"
|
|
# Reuse the host VM's Docker network for the built-in cache/artifact server.
|
|
network: "host"
|