Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .github/actions/system-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ inputs:
description: 'Whether to collect Go coverage data for this test'
required: false
default: 'true'
sideload_debug_binaries:
description: 'Whether to sideload the MicroCloud debug binaries built from this checkout instead of using the installed snap as-is'
required: false
default: 'false'
runs:
using: composite
steps:
Expand Down Expand Up @@ -48,6 +52,7 @@ runs:
go-version-file: 'go.mod'

- name: Download system test dependencies
if: ${{ inputs.sideload_debug_binaries == 'true' }}
uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2
with:
name: system-test-deps
Expand All @@ -63,6 +68,7 @@ runs:
if: env.GOCOVERDIR != ''

- name: Sideload debug binaries
if: ${{ inputs.sideload_debug_binaries == 'true' }}
shell: bash
run: | # zizmor: ignore[github-env]
set -eux
Expand All @@ -75,7 +81,7 @@ runs:
echo "MICROCLOUDD_DEBUG_PATH=${MICROCLOUDD_DEBUG_PATH}" >> "${GITHUB_ENV}"

- name: Strip debug binaries
if: env.GOCOVERDIR == ''
if: ${{ inputs.sideload_debug_binaries == 'true' && env.GOCOVERDIR == '' }}
Comment thread
simondeziel marked this conversation as resolved.
shell: bash
run: |
set -eux
Expand Down Expand Up @@ -190,4 +196,4 @@ runs:
with:
name: coverage-${{ matrix.suite }}-${{ env.TIMESTAMP }}
path: ${{ env.GOCOVERDIR }}
if: env.GOCOVERDIR != '' && github.repository == 'canonical/microcloud'
if: env.GOCOVERDIR != '' && inputs.collect_coverage == 'true' && github.repository == 'canonical/microcloud'
18 changes: 16 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,21 @@ jobs:
# Both LXD 5.21 and 6 are supported.
- "5.21/edge"
- "6/edge"
microcloud: ["latest/edge"]
microcloud:
- "latest/edge"
- "3/edge"
- "2/edge"
exclude:
# Unsupported: MicroCloud 3 and latest/edge require LXD >= 6.
- microcloud: "latest/edge"
lxd: "5.21/edge"
- microcloud: "3/edge"
lxd: "5.21/edge"
# Exclude the released MicroCloud 2 and 3 combinations for regular development pipelines.
# They test published snaps, not the code in this checkout, so they are only useful on
# the weekly schedule (or on-demand via manual workflow dispatch).
- microcloud: ${{ github.event_name != 'schedule' && github.event_name != 'workflow_dispatch' && '2/edge' }}
- microcloud: ${{ github.event_name != 'schedule' && github.event_name != 'workflow_dispatch' && '3/edge' }}
# Exclude LXD 5.21 for regular development pipelines to speed up the result cycle.
# MicroCloud edge tests should always run with LXD edge. The LTS edge is tested in the weekly schedule.
# Launch the LXD 5.21 tests both for schedules and manual workflow dispatch.
Expand All @@ -206,7 +219,8 @@ jobs:
with:
setup_testbed: ${{ matrix.suite != 'terraform_demo' }}
setup_terraform: ${{ matrix.suite == 'e2e' || matrix.suite == 'terraform_demo' }}
collect_coverage: ${{ matrix.suite != 'terraform_demo' }}
collect_coverage: ${{ matrix.suite != 'terraform_demo' && matrix.microcloud == 'latest/edge' }}
Comment thread
roosterfish marked this conversation as resolved.
sideload_debug_binaries: ${{ matrix.microcloud == 'latest/edge' }}

system-tests-upgrade:
env:
Expand Down
Loading