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).
40 lines
1.3 KiB
YAML
40 lines
1.3 KiB
YAML
# Build (Local CI) — pipeline per nsis-plugin-nsinnounp
|
|
#
|
|
# Cross-platform matrix build: runs in parallel on both windows-build (WinRM)
|
|
# and linux-build (SSH) runners using the reusable composite action.
|
|
# Uses: Simone/local-ci-system/.gitea/actions/local-ci-build@main
|
|
#
|
|
# Trigger: push su tag v*, oppure run manuale
|
|
|
|
name: Build (Local CI)
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
matrix:
|
|
target: [windows, linux]
|
|
fail-fast: false
|
|
|
|
# Runner label must match config.yaml labels: windows-build or linux-build
|
|
runs-on: ${{ matrix.target }}-build
|
|
|
|
steps:
|
|
- uses: Simone/local-ci-system/.gitea/actions/local-ci-build@main
|
|
with:
|
|
build-command: 'python build_plugin.py --final --dist-dir dist'
|
|
artifact-source: 'dist'
|
|
submodules: 'true'
|
|
guest-os: ${{ matrix.target == 'linux' && 'Linux' || 'Windows' }}
|
|
# SSH URL alias configured in host ~/.ssh/config — same for both runners
|
|
repo-url: 'ssh://gitea-ci/Simone/nsis-plugin-nsinnounp.git'
|
|
# Suffix disambiguates artifact dirs: F:\CI\Artifacts\{run_id}-{attempt}-windows
|
|
job-id-suffix: '${{ matrix.target }}'
|
|
artifact-name: 'nsis-plugin-nsinnounp-${{ matrix.target }}-${{ github.ref_name }}'
|
|
|