Merge pull request #88 from GoodOlClint/ci/retire-pve8-leg

ci: retire the PVE 8 integration leg
This commit is contained in:
GoodOlClint
2026-08-31 15:18:59 -05:00
committed by GitHub
2 changed files with 9 additions and 7 deletions
+4 -2
View File
@@ -61,6 +61,9 @@ env:
SCRIPTS_DIR: tests/infrastructure/scripts SCRIPTS_DIR: tests/infrastructure/scripts
TEST_IMAGE: ghcr.io/goodolclint/psproxmoxve-integration TEST_IMAGE: ghcr.io/goodolclint/psproxmoxve-integration
CACHE_DIR: /opt/pve-integration CACHE_DIR: /opt/pve-integration
# PVE 8 reached EOL 2026-08-31; CI provisions and tests PVE 9 only.
# run-integration.sh still accepts "8" for local runs against old targets.
PVE_VERSIONS: '9'
jobs: jobs:
# ── Build module artifact (GitHub-hosted) ──────────────────────── # ── Build module artifact (GitHub-hosted) ────────────────────────
@@ -158,9 +161,8 @@ jobs:
- /opt/pve-integration:/opt/pve-integration - /opt/pve-integration:/opt/pve-integration
strategy: strategy:
fail-fast: false fail-fast: false
max-parallel: 2
matrix: matrix:
pve_version: ['9', '8'] pve_version: ['9']
steps: steps:
- uses: actions/checkout@v7 - uses: actions/checkout@v7
@@ -41,7 +41,7 @@
# WORK_DIR Temp dir for build artifacts (default: $CACHE_DIR/work) # WORK_DIR Temp dir for build artifacts (default: $CACHE_DIR/work)
# CONFIG_FILE Test config JSON path (default: $WORK_DIR/config.json) # CONFIG_FILE Test config JSON path (default: $WORK_DIR/config.json)
# MODULE_ARTIFACT Path to built module DLLs (default: ./publish/netstandard2.0) # MODULE_ARTIFACT Path to built module DLLs (default: ./publish/netstandard2.0)
# PVE_VERSIONS Space-separated versions to provision (default: "9 8") # PVE_VERSIONS Space-separated versions to provision (default: "9"; "9 8" still works)
# STORAGE_ISCSI_IQN iSCSI IQN for storage target (default: iqn.2024-01.local.test:storage) # STORAGE_ISCSI_IQN iSCSI IQN for storage target (default: iqn.2024-01.local.test:storage)
# STORAGE_VM_IP Static CIDR address for the storage VM on the CI VLAN, # STORAGE_VM_IP Static CIDR address for the storage VM on the CI VLAN,
# outside the DHCP range (default: 172.16.60.60/24) # outside the DHCP range (default: 172.16.60.60/24)
@@ -63,7 +63,7 @@ CACHE_DIR="${CACHE_DIR:-/opt/pve-integration}"
WORK_DIR="${WORK_DIR:-$CACHE_DIR/work}" WORK_DIR="${WORK_DIR:-$CACHE_DIR/work}"
CONFIG_FILE="${CONFIG_FILE:-$WORK_DIR/config.json}" CONFIG_FILE="${CONFIG_FILE:-$WORK_DIR/config.json}"
MODULE_ARTIFACT="${MODULE_ARTIFACT:-$REPO_ROOT/publish/netstandard2.0}" MODULE_ARTIFACT="${MODULE_ARTIFACT:-$REPO_ROOT/publish/netstandard2.0}"
PVE_VERSIONS="${PVE_VERSIONS:-9 8}" PVE_VERSIONS="${PVE_VERSIONS:-9}"
SKIP_PROVISION="${SKIP_PROVISION:-false}" SKIP_PROVISION="${SKIP_PROVISION:-false}"
STORAGE_ISCSI_IQN="${STORAGE_ISCSI_IQN:-iqn.2024-01.local.test:storage}" STORAGE_ISCSI_IQN="${STORAGE_ISCSI_IQN:-iqn.2024-01.local.test:storage}"
STORAGE_VM_IP="${STORAGE_VM_IP:-172.16.60.60/24}" STORAGE_VM_IP="${STORAGE_VM_IP:-172.16.60.60/24}"
@@ -196,7 +196,7 @@ resolve_target_node() {
if [[ -z "$free" ]]; then if [[ -z "$free" ]]; then
log "WARNING: no memory stats for $PVE_TARGET_NODE (token lacks PVEAuditor on /nodes?) — skipping the headroom check" log "WARNING: no memory stats for $PVE_TARGET_NODE (token lacks PVEAuditor on /nodes?) — skipping the headroom check"
elif (( free < need )); then elif (( free < need )); then
ci_error "Refusing to provision: $PVE_TARGET_NODE has ${free}GiB free, need ${need}GiB ($count VMs x ${PVE_VM_MEM_GB:-8}GiB + ${PVE_MEM_HEADROOM_GB:-8}GiB headroom)" ci_error "Refusing to provision: $PVE_TARGET_NODE has ${free}GiB free, need ${need}GiB ($count VMs x ${PVE_VM_MEM_GB:-8}GiB + 2GiB storage VM + ${PVE_MEM_HEADROOM_GB:-8}GiB headroom)"
exit 1 exit 1
else else
log "Target node $PVE_TARGET_NODE: ${free}GiB free, need ${need}GiB" log "Target node $PVE_TARGET_NODE: ${free}GiB free, need ${need}GiB"
@@ -207,7 +207,7 @@ resolve_target_node() {
export PVE_TARGET_NODE export PVE_TARGET_NODE
} }
# ── Subcommands ─────────────────────────────────────────────────── # ── Subcommands ─────────────────────────────────────────────────────
cmd_provision() { cmd_provision() {
local requested="${1:-all}" local requested="${1:-all}"
@@ -784,7 +784,7 @@ cmd_all() {
return $test_exit return $test_exit
} }
# ── Main ─────────────────────────────────────────────────────────── # ── Main ───────────────────────────────────────────────────────────
main() { main() {
local cmd="${1:-}" local cmd="${1:-}"
shift || true shift || true