From 6d81e92d296c1495493ba2c10e3c5a678fd8dc12 Mon Sep 17 00:00:00 2001 From: Chad Smith Date: Fri, 20 Feb 2026 11:38:24 -0700 Subject: [PATCH] ci: noble daily runner will run on self-hosted systems Github worflows for daily integration test runs currently experience a failure rate > 20% in noble and questin. Provide an optional hosted_runner input param to allow some jobs to run on Canonical self-hosted runners to sample whether failure rate is improved on self-hosted environments. --- .../02-daily-integration-24.04-lxd-container.yml | 1 + .github/workflows/11-dispatch-common.yml | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/02-daily-integration-24.04-lxd-container.yml b/.github/workflows/02-daily-integration-24.04-lxd-container.yml index acfd4c9e0f9..0bd0ef781ee 100644 --- a/.github/workflows/02-daily-integration-24.04-lxd-container.yml +++ b/.github/workflows/02-daily-integration-24.04-lxd-container.yml @@ -11,3 +11,4 @@ jobs: with: release: noble platform: lxd_container + hosted_runner: true diff --git a/.github/workflows/11-dispatch-common.yml b/.github/workflows/11-dispatch-common.yml index 66643329e97..597769dccb2 100644 --- a/.github/workflows/11-dispatch-common.yml +++ b/.github/workflows/11-dispatch-common.yml @@ -29,6 +29,9 @@ on: filter_tests: required: false type: string + hosted_runner: + required: false + type: boolean workflow_call: inputs: release: @@ -46,10 +49,13 @@ on: filter_tests: required: false type: string + hosted_runner: + required: false + type: boolean jobs: lxc: - runs-on: ubuntu-latest + runs-on: ${{ inputs.hosted_runner && fromJSON('["self-hosted", "linux", "amd64", "tiobe", "noble"]') || 'ubuntu-latest' }} if: github.repository == 'canonical/cloud-init' env: @@ -58,6 +64,7 @@ jobs: CLOUD_INIT_OS_IMAGE_TYPE: ${{ inputs.image_type || 'generic' }} CLOUD_INIT_CLOUD_INIT_SOURCE: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} CLOUD_INIT_LOCAL_LOG_PATH: ${{ github.workspace }}/cloud_init_test_logs + PYCLOUDLIB_CONFIG: ${{ github.workspace }}/pycloudlib.toml steps: @@ -73,7 +80,7 @@ jobs: - name: Setup pycloudlib run: | ssh-keygen -P "" -q -f ~/.ssh/id_rsa - echo "[lxd]" > /home/$USER/.config/pycloudlib.toml + echo "[lxd]" > ${{ github.workspace }/pycloudlib.toml - name: Install Dependencies run: | sudo DEBIAN_FRONTEND=noninteractive apt-get -qy update