chore: update runner config and workflow example for linux-build label

runner/config.yaml:
- Add linux-build:host label alongside windows-build:host
- capacity remains 4 (concurrent jobs)

gitea/workflow-example.yml:
- Add linux-build job example (runs-on: linux-build:host)
- Document GuestOS auto-detection and SSH transport parameters
This commit is contained in:
Simone
2026-05-11 18:35:24 +02:00
parent 1c8fdcf028
commit 54399a2120
2 changed files with 54 additions and 0 deletions
+49
View File
@@ -117,3 +117,52 @@ jobs:
# -Branch "${{ github.ref_name }}" ` # -Branch "${{ github.ref_name }}" `
# -Configuration "${{ matrix.config }}" ` # -Configuration "${{ matrix.config }}" `
# -VMIPAddress "${{ matrix.vm_ip }}" # -VMIPAddress "${{ matrix.vm_ip }}"
---
# CROSS-PLATFORM MATRIX BUILD (Windows + Linux VMs)
# Runs the same build on both Windows and Linux ephemeral VMs in parallel.
# Requires:
# - runner/config.yaml labels include "windows-build:host" and "linux-build:host"
# - Linux template provisioned: F:\CI\Templates\LinuxBuild2404\LinuxBuild2404.vmx
# - SSH key at F:\CI\keys\ci_linux (ed25519, no passphrase), user ci_build
#
# jobs:
# build:
# strategy:
# matrix:
# target: [windows, linux]
# fail-fast: false
#
# runs-on: ${{ matrix.target }}-build
#
# steps:
# - uses: actions/checkout@v4
#
# - name: Build on ${{ matrix.target }}
# shell: pwsh
# run: |
# $ErrorActionPreference = 'Stop'
# $ciScriptsDir = Join-Path $env:GITHUB_WORKSPACE 'scripts'
#
# $templatePath = if ('${{ matrix.target }}' -eq 'linux') {
# $env:GITEA_CI_LINUX_TEMPLATE_PATH # F:\CI\Templates\LinuxBuild2404\LinuxBuild2404.vmx
# } else {
# $env:GITEA_CI_TEMPLATE_PATH # F:\CI\Templates\WinBuild2025\WinBuild2025.vmx
# }
#
# & "$ciScriptsDir\Invoke-CIJob.ps1" `
# -JobId "${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.target }}" `
# -RepoUrl "${{ github.server_url }}/${{ github.repository }}.git" `
# -Branch "${{ github.ref_name }}" `
# -Commit "${{ github.sha }}" `
# -TemplatePath $templatePath `
# -BuildCommand 'make all'
#
# - name: Upload artifacts (${{ matrix.target }})
# if: success()
# uses: actions/upload-artifact@v4
# with:
# name: build-${{ matrix.target }}-${{ github.sha }}
# path: F:\CI\Artifacts\${{ github.run_id }}-${{ github.run_attempt }}-${{ matrix.target }}\
# retention-days: 14
# if-no-files-found: error
+5
View File
@@ -29,6 +29,10 @@ runner:
# Snapshot to clone from. Default BaseClean — set to BaseClean_<yyyyMMdd> when # Snapshot to clone from. Default BaseClean — set to BaseClean_<yyyyMMdd> when
# refreshing the template. Keep the previous value live for 1 week before deleting. # refreshing the template. Keep the previous value live for 1 week before deleting.
# GITEA_CI_SNAPSHOT_NAME: "BaseClean" # 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"
# Optional: load additional env vars from a file (one KEY=VALUE per line) # Optional: load additional env vars from a file (one KEY=VALUE per line)
# env_file: "F:\\CI\\runner.env" # env_file: "F:\\CI\\runner.env"
@@ -43,6 +47,7 @@ runner:
- "windows-build:host" - "windows-build:host"
- "dotnet:host" - "dotnet:host"
- "msbuild:host" - "msbuild:host"
- "linux-build:host"
# Uncomment to ignore specific errors # Uncomment to ignore specific errors
# insecure: false # insecure: false