From 787ac2fd7b9a5ea135d1dbeee5531f3ad6e20d5b Mon Sep 17 00:00:00 2001 From: Chad Smith Date: Fri, 4 Sep 2026 14:51:29 -0600 Subject: [PATCH] refactor(ci): move integration-test common steps into composite action Replace the reusable workflow .github/workflows/100-dispatch-common.yml with a composite action .github/actions/integration-test containing shared integration-test steps (secret assertion, checkout, LXD/SSH/ pycloudlib setup, tox run, report publish, cleanup). This allows platform-specific secret changes and pre-flight workflow steps such as credential file setup in subsequent workflows avoiding pulling in platform-specific setup into the common integration testing. Behavior is preseved. Update all existing platform workflows to now pass in environment variables to the composite action the boundary from workflow to composite action doesn't allow passing workflow `secrets`. Additionally, to run composite actions a preliminary checkout step is required in the scheduled workflow to provide visibility to the .github/actions dir. --- .github/workflows/100-dispatch-common.yml | 135 ------------------ ...-daily-integration-22.04-lxd_container.yml | 24 ++-- ...-daily-integration-24.04-lxd_container.yml | 24 ++-- ...-daily-integration-26.04-lxd_container.yml | 24 ++-- ...-daily-integration-26.10-lxd_container.yml | 24 ++-- .../120-daily-integration-22.04-lxd_vm.yml | 24 ++-- .../121-daily-integration-24.04-lxd_vm.yml | 24 ++-- .../123-daily-integration-26.04-lxd_vm.yml | 24 ++-- .../124-daily-integration-26.10-lxd_vm.yml | 24 ++-- .../130-daily-integration-22.04-ec2.yml | 24 ++-- .../131-daily-integration-24.04-ec2.yml | 24 ++-- .../133-daily-integration-26.04-ec2.yml | 24 ++-- .../134-daily-integration-26.10-ec2.yml | 24 ++-- .../140-daily-integration-22.04-azure.yml | 26 ++-- .../141-daily-integration-24.04-azure.yml | 26 ++-- .../143-daily-integration-26.04-azure.yml | 26 ++-- .../144-daily-integration-26.10-azure.yml | 26 ++-- 17 files changed, 248 insertions(+), 279 deletions(-) delete mode 100644 .github/workflows/100-dispatch-common.yml diff --git a/.github/workflows/100-dispatch-common.yml b/.github/workflows/100-dispatch-common.yml deleted file mode 100644 index 0e1a48369d6..00000000000 --- a/.github/workflows/100-dispatch-common.yml +++ /dev/null @@ -1,135 +0,0 @@ -# WARNING: This workflow handles repository secrets (PYCLOUDLIB_TOML_B64, SSH keys). -# It MUST NOT be triggered by PR-driven workflows to prevent secret exposure to -# untrusted code submitted via pull requests. -name: "Dispatch: Integration" - -on: - workflow_call: - inputs: - release: - required: true - type: string - platform: - required: true - type: string - image_type: - required: true - type: string - install_source: - required: true - type: string - filter_tests: - required: false - type: string - secrets: - PYCLOUDLIB_TOML_B64: - required: true - SSH_PRIVATE_KEY: - required: true - SSH_PUBLIC_KEY: - required: true - -jobs: - integration-test: - runs-on: ubuntu-latest - if: github.repository == 'canonical/cloud-init' - - env: - REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} - SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} - SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} - CLOUD_INIT_PLATFORM: ${{ inputs.platform }} - CLOUD_INIT_OS_IMAGE: ${{ inputs.release }} - CLOUD_INIT_OS_IMAGE_TYPE: ${{ inputs.image_type }} - CLOUD_INIT_CLOUD_INIT_SOURCE: ${{ inputs.install_source }} - - steps: - - name: Assert required repo secrets are set - run: | - if [ -z "$REQUIRED_SECRET" ]; then - echo "ERROR: Missing required repo secret. Please provide the necessary repo secret at ${{ github.repository }}/settings/secrets/actions." - exit 1 - fi - if [ -z "$SSH_PUBLIC_KEY" ]; then - echo "ERROR: Missing required repo secret. Please provide SSH_PUBLIC_KEY repo secret at ${{ github.repository }}/settings/secrets/actions." - exit 1 - fi - if [ -z "$SSH_PRIVATE_KEY" ]; then - echo "ERROR: Missing required repo secret. Please provide SSH_PRIVATE_KEY repo secret at ${{ github.repository }}/settings/secrets/actions." - exit 1 - fi - - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - name: Setup LXD - # This shared workflow supports manual dispatch with platform choices including - # lxd_vm and lxd_container. Only install the lxd snap for those platforms; - # cloud platforms such as EC2 and Azure do not need it. - if: ${{ contains(fromJSON('["lxd_vm", "lxd_container"]'), env.CLOUD_INIT_PLATFORM ) }} - uses: canonical/setup-lxd@8c6a87bfb56aa48f3fb9b830baa18562d8bfd4ee # v1 - with: - channel: 6/stable - - name: Clean workspace - run: | - rm -rf ${{ github.workspace }}/cloud_init_test_logs/ - - name: Setup SSH - run: | - mkdir -p ~/.ssh - sh -c 'printf "%s\n" "$SSH_PUBLIC_KEY" > ~/.ssh/cloudinit_id_rsa.pub' - # Dump secret using a subprocess to avoid accidental leaks when using set -x. - sh -c 'printf "%s\n" "$SSH_PRIVATE_KEY" | install -m 600 /dev/stdin ~/.ssh/cloudinit_id_rsa' - - name: Setup pycloudlib - env: - PYCLOUDLIB_CONFIG: ${{ runner.temp }}/pycloudlib.toml - run: | - sh -c 'echo "$REQUIRED_SECRET" | base64 -d > "$PYCLOUDLIB_CONFIG"' - - name: Install Dependencies - run: | - sudo DEBIAN_FRONTEND=noninteractive apt-get -qy update - sudo DEBIAN_FRONTEND=noninteractive apt-get -qy install tox distro-info-data devscripts - - name: Run integration Tests - env: - CLOUD_INIT_LOCAL_LOG_PATH: ${{ github.workspace }}/cloud_init_test_logs - PYCLOUDLIB_CONFIG: ${{ runner.temp }}/pycloudlib.toml - run: | - tox -e integration-tests -- --junitxml="${{ github.workspace }}/junit-report.xml" --color=yes ${{ inputs.filter_tests || 'tests/integration_tests' }} - - name: Publish Test Report with Insights - if: ${{ always() }} - uses: ctrf-io/github-test-reporter@024bc4b64d997ca9da86833c6b9548c55c620e40 # v1.0.26 - with: - report-path: '${{ github.workspace }}/junit-report.xml' - title: '${{ inputs.platform }}-${{ inputs.release }}-${{ inputs.image_type }}:${{ inputs.install_source }}' - integrations-config: | - { - "junit-to-ctrf": { - "enabled": true, - "action": "convert", - "options": { - "output": "./ctrf-report.json", - "toolname": "junit-to-ctrf", - "useSuiteName": false, - "env": { - "appName": "my-app" - } - } - } - } - summary-delta-report: true - insights-report: true - flaky-rate-report: true - slowest-report: true - upload-artifact: true - github-report: true - artifact-name: ctrf-report-${{ inputs.platform }}-${{ inputs.release }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Upload failure artifacts - if: ${{ failure() }} - uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 - with: - name: failure-${{ github.job }} - path: ${{ github.workspace }}/cloud_init_test_logs/ - retention-days: 2 - - name: Clean pycloudlib - if: ${{ always() }} - run: | - rm -f ${{ runner.temp }}/pycloudlib.toml diff --git a/.github/workflows/110-daily-integration-22.04-lxd_container.yml b/.github/workflows/110-daily-integration-22.04-lxd_container.yml index bf719312c78..ceb3aa3af10 100644 --- a/.github/workflows/110-daily-integration-22.04-lxd_container.yml +++ b/.github/workflows/110-daily-integration-22.04-lxd_container.yml @@ -21,14 +21,20 @@ on: jobs: jammy-lxd_container: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: jammy - platform: lxd_container - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: jammy + platform: lxd_container + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/111-daily-integration-24.04-lxd_container.yml b/.github/workflows/111-daily-integration-24.04-lxd_container.yml index 73fcd9e302d..8be7d44a961 100644 --- a/.github/workflows/111-daily-integration-24.04-lxd_container.yml +++ b/.github/workflows/111-daily-integration-24.04-lxd_container.yml @@ -21,14 +21,20 @@ on: jobs: noble-lxd_container: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: noble - platform: lxd_container - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: noble + platform: lxd_container + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/113-daily-integration-26.04-lxd_container.yml b/.github/workflows/113-daily-integration-26.04-lxd_container.yml index 2e12f25ce03..7113255ce70 100644 --- a/.github/workflows/113-daily-integration-26.04-lxd_container.yml +++ b/.github/workflows/113-daily-integration-26.04-lxd_container.yml @@ -21,14 +21,20 @@ on: jobs: resolute-lxd_container: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: resolute - platform: lxd_container - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: resolute + platform: lxd_container + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/114-daily-integration-26.10-lxd_container.yml b/.github/workflows/114-daily-integration-26.10-lxd_container.yml index 86134cff189..702034f815e 100644 --- a/.github/workflows/114-daily-integration-26.10-lxd_container.yml +++ b/.github/workflows/114-daily-integration-26.10-lxd_container.yml @@ -21,14 +21,20 @@ on: jobs: stonking-lxd_container: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: stonking - platform: lxd_container - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: stonking + platform: lxd_container + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/120-daily-integration-22.04-lxd_vm.yml b/.github/workflows/120-daily-integration-22.04-lxd_vm.yml index 2b81dfca8e0..f766868228f 100644 --- a/.github/workflows/120-daily-integration-22.04-lxd_vm.yml +++ b/.github/workflows/120-daily-integration-22.04-lxd_vm.yml @@ -21,14 +21,20 @@ on: jobs: jammy-lxd_vm: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: jammy - platform: lxd_vm - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: jammy + platform: lxd_vm + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/121-daily-integration-24.04-lxd_vm.yml b/.github/workflows/121-daily-integration-24.04-lxd_vm.yml index fa1b671223a..eeff3040c90 100644 --- a/.github/workflows/121-daily-integration-24.04-lxd_vm.yml +++ b/.github/workflows/121-daily-integration-24.04-lxd_vm.yml @@ -21,14 +21,20 @@ on: jobs: noble-lxd_vm: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: noble - platform: lxd_vm - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: noble + platform: lxd_vm + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/123-daily-integration-26.04-lxd_vm.yml b/.github/workflows/123-daily-integration-26.04-lxd_vm.yml index 54a5dc4413a..efd37380dd9 100644 --- a/.github/workflows/123-daily-integration-26.04-lxd_vm.yml +++ b/.github/workflows/123-daily-integration-26.04-lxd_vm.yml @@ -21,14 +21,20 @@ on: jobs: resolute-lxd_vm: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: resolute - platform: lxd_vm - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: resolute + platform: lxd_vm + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/124-daily-integration-26.10-lxd_vm.yml b/.github/workflows/124-daily-integration-26.10-lxd_vm.yml index c320874875a..26d793f59b2 100644 --- a/.github/workflows/124-daily-integration-26.10-lxd_vm.yml +++ b/.github/workflows/124-daily-integration-26.10-lxd_vm.yml @@ -21,14 +21,20 @@ on: jobs: stonking-lxd_vm: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: stonking - platform: lxd_vm - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: stonking + platform: lxd_vm + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/130-daily-integration-22.04-ec2.yml b/.github/workflows/130-daily-integration-22.04-ec2.yml index 78d509cfea0..7f274d2fff8 100644 --- a/.github/workflows/130-daily-integration-22.04-ec2.yml +++ b/.github/workflows/130-daily-integration-22.04-ec2.yml @@ -22,14 +22,20 @@ on: jobs: jammy-ec2: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: jammy - platform: ec2 - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: jammy + platform: ec2 + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/131-daily-integration-24.04-ec2.yml b/.github/workflows/131-daily-integration-24.04-ec2.yml index 52d88e9ba8e..966266df997 100644 --- a/.github/workflows/131-daily-integration-24.04-ec2.yml +++ b/.github/workflows/131-daily-integration-24.04-ec2.yml @@ -22,14 +22,20 @@ on: jobs: noble-ec2: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: noble - platform: ec2 - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: noble + platform: ec2 + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/133-daily-integration-26.04-ec2.yml b/.github/workflows/133-daily-integration-26.04-ec2.yml index cabaf3e1dcb..5460ec85de4 100644 --- a/.github/workflows/133-daily-integration-26.04-ec2.yml +++ b/.github/workflows/133-daily-integration-26.04-ec2.yml @@ -22,14 +22,20 @@ on: jobs: resolute-ec2: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: resolute - platform: ec2 - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: resolute + platform: ec2 + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/134-daily-integration-26.10-ec2.yml b/.github/workflows/134-daily-integration-26.10-ec2.yml index 54407546f48..9900e45dae3 100644 --- a/.github/workflows/134-daily-integration-26.10-ec2.yml +++ b/.github/workflows/134-daily-integration-26.10-ec2.yml @@ -22,14 +22,20 @@ on: jobs: stonking-ec2: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: stonking - platform: ec2 - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: stonking + platform: ec2 + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/140-daily-integration-22.04-azure.yml b/.github/workflows/140-daily-integration-22.04-azure.yml index 3fdd27f2db0..c16f71dc404 100644 --- a/.github/workflows/140-daily-integration-22.04-azure.yml +++ b/.github/workflows/140-daily-integration-22.04-azure.yml @@ -22,14 +22,22 @@ on: jobs: jammy-azure: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: jammy - platform: azure - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: jammy + platform: azure + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/141-daily-integration-24.04-azure.yml b/.github/workflows/141-daily-integration-24.04-azure.yml index b6cdebe73f5..0a5e55961ce 100644 --- a/.github/workflows/141-daily-integration-24.04-azure.yml +++ b/.github/workflows/141-daily-integration-24.04-azure.yml @@ -22,14 +22,22 @@ on: jobs: noble-azure: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: noble - platform: azure - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: noble + platform: azure + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/143-daily-integration-26.04-azure.yml b/.github/workflows/143-daily-integration-26.04-azure.yml index 34c75b84bff..751c4561403 100644 --- a/.github/workflows/143-daily-integration-26.04-azure.yml +++ b/.github/workflows/143-daily-integration-26.04-azure.yml @@ -22,14 +22,22 @@ on: jobs: resolute-azure: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: resolute - platform: azure - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: resolute + platform: azure + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }} diff --git a/.github/workflows/144-daily-integration-26.10-azure.yml b/.github/workflows/144-daily-integration-26.10-azure.yml index ca279447ab6..18cf4b27beb 100644 --- a/.github/workflows/144-daily-integration-26.10-azure.yml +++ b/.github/workflows/144-daily-integration-26.10-azure.yml @@ -22,14 +22,22 @@ on: jobs: stonking-azure: - uses: ./.github/workflows/100-dispatch-common.yml - with: - release: stonking - platform: azure - install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} - image_type: ${{ inputs.image_type || 'generic' }} - filter_tests: ${{ inputs.filter_tests }} - secrets: - PYCLOUDLIB_TOML_B64: ${{ secrets.PYCLOUDLIB_TOML_B64 }} + runs-on: ubuntu-latest + if: github.repository == 'canonical/cloud-init' + env: + REQUIRED_SECRET: ${{ secrets.PYCLOUDLIB_TOML_B64 }} SSH_PUBLIC_KEY: ${{ secrets.SSH_PUBLIC_KEY }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + steps: + - name: Checkout + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - name: Run integration tests + uses: ./.github/actions/integration-test + with: + release: stonking + platform: azure + install_source: ${{ inputs.install_source || 'ppa:cloud-init-dev/daily' }} + image_type: ${{ inputs.image_type || 'generic' }} + filter_tests: ${{ inputs.filter_tests }} + runner_temp: ${{ runner.temp }}