7dff7d3dba
C1: composite action selects Linux/Windows template from GITEA_CI_LINUX_TEMPLATE_PATH
based on resolved guest OS; build-nsis.yml adds belt-and-suspenders guest-os param.
C2: redact ExtraGuestEnv secrets in Invoke-RemoteBuild.ps1 (envPrefix never logged).
H2: composite action outputs block corrected; duplicate artifact-name input removed.
H3: Linux Mode 2 PAT now uses http.extraHeader (mirrors Windows branch, drops GIT_CLONE_URL).
H6: Setup-Host.ps1 directory array updated to canonical layout (adds State, ip-leases, keys,
Cache\pip, WinBuild2025/2022/LinuxBuild2404; removes obsolete WinBuild).
H7: Backup-CITemplate.ps1 default TemplatePath -> WinBuild2025; -AllTemplates switch added.
H8: Setup-Host.ps1 adds StrictHostKeyChecking=accept-new and Step 8 to replicate SSH config
to LocalSystem profile for act_runner service account.
H11: runner/config.yaml adds GITEA_CI_SCRIPT_ROOT env var; action.yml uses it in place of
hardcoded N:\ path.
Also: Invoke-RemoteBuild.ps1 skips 7-Zip/Compress-Archive when artifact source dir does not
exist (fixes burn-in smoke runs with exit-0 build command and no output).
93 lines
3.3 KiB
YAML
93 lines
3.3 KiB
YAML
# act_runner configuration for Local CI/CD System
|
|
# Documentation: https://gitea.com/gitea/act_runner
|
|
|
|
log:
|
|
# Log level: trace, debug, info, warn, error, fatal
|
|
level: info
|
|
# Log format: text or json
|
|
format: text
|
|
|
|
runner:
|
|
# Path to the runner state file (stores runner registration info)
|
|
file: .runner
|
|
|
|
# Maximum number of concurrent jobs this runner will accept.
|
|
# Each job spawns one ephemeral VM. Budget: 64GB RAM / ~8GB per VM = 8 max.
|
|
# Set conservatively to 4 until you benchmark actual memory usage.
|
|
capacity: 4
|
|
|
|
# Environment variables injected into every job's environment.
|
|
envs:
|
|
# Path to the template VM - update after provisioning the template
|
|
GITEA_CI_TEMPLATE_PATH: "F:\\CI\\Templates\\WinBuild2025\\WinBuild2025.vmx"
|
|
# Base directory where ephemeral clone VMs are created
|
|
GITEA_CI_CLONE_BASE_DIR: "F:\\CI\\BuildVMs"
|
|
# Base directory for collected build artifacts
|
|
GITEA_CI_ARTIFACT_DIR: "F:\\CI\\Artifacts"
|
|
# Windows Credential Manager target name for guest VM credentials
|
|
GITEA_CI_GUEST_CRED_TARGET: "BuildVMGuest"
|
|
# Snapshot to clone from. Default BaseClean — set to BaseClean_<yyyyMMdd> when
|
|
# refreshing the template. Keep the previous value live for 1 week before deleting.
|
|
# GITEA_CI_SNAPSHOT_NAME: "BaseClean"
|
|
# Path to the Linux (Ubuntu 24.04) template VM
|
|
GITEA_CI_LINUX_TEMPLATE_PATH: "F:\\CI\\Templates\\LinuxBuild2404\\LinuxBuild2404.vmx"
|
|
# SSH private key for Linux guest authentication
|
|
GITEA_CI_SSH_KEY_PATH: "F:\\CI\\keys\\ci_linux"
|
|
# Root directory of the local-ci-system repository on this host (scripts\ subdir)
|
|
GITEA_CI_SCRIPT_ROOT: "N:\\Code\\Workspace\\Local-CI-CD-System\\scripts"
|
|
|
|
# Optional: load additional env vars from a file (one KEY=VALUE per line)
|
|
# env_file: "F:\\CI\\runner.env"
|
|
|
|
# Maximum duration for a single job before it is killed.
|
|
# Set this higher than your longest expected build.
|
|
timeout: 2h
|
|
|
|
# Labels this runner advertises to Gitea.
|
|
# Workflows using "runs-on: windows-build" will be routed to this runner.
|
|
labels:
|
|
- "windows-build:host"
|
|
- "dotnet:host"
|
|
- "msbuild:host"
|
|
- "linux-build:host"
|
|
|
|
# Uncomment to ignore specific errors
|
|
# insecure: false
|
|
|
|
cache:
|
|
# Enable the built-in cache server (used by actions/cache steps)
|
|
enabled: true
|
|
# Cache storage directory on the host
|
|
dir: "F:\\CI\\Cache"
|
|
# External cache server - leave empty to use built-in
|
|
host: ""
|
|
port: 0
|
|
|
|
container:
|
|
# IMPORTANT: must be false on this runner.
|
|
# All builds run in VMware VMs, not Docker containers.
|
|
enabled: false
|
|
|
|
# These settings are ignored when container.enabled is false,
|
|
# but kept for documentation purposes.
|
|
# network: ""
|
|
# privileged: false
|
|
# options: ""
|
|
# workdir_parent: ""
|
|
|
|
host:
|
|
# Working directory on the host for act_runner's own workspace files.
|
|
# Each job gets a subdirectory here for checkout and step scripts.
|
|
workdir_parent: "F:\\CI\\RunnerWork"
|
|
|
|
artifact:
|
|
# Gitea artifact proxy settings
|
|
# Artifacts uploaded by steps (actions/upload-artifact) are stored via Gitea.
|
|
# The runner itself handles local artifact paths via Invoke-CIJob.ps1.
|
|
enabled: true
|
|
dir: "F:\\CI\\Artifacts"
|
|
# Retention in days for artifacts stored by act_runner itself
|
|
# (distinct from the Gitea server's own artifact retention setting)
|
|
retention:
|
|
days: 7
|