Skip to content
Open
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
28 changes: 8 additions & 20 deletions .github/workflows/nightly-spread.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Nightly spread executions
# See https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#onschedule
on:
schedule:
# usual nightly run, google tests, and experimental features
# usual nightly run and experimental features
- cron: '0 2 * * *'
# spread run from json fundamental, non-fundamental, and nested
- cron: '0 3 * * *'
Expand All @@ -16,7 +16,7 @@ on:
description: Job to run
options:
- spread-nightly
- spread-nightly-google
- spread-nightly-openstack
- spread-test-build-from-current
- spread-test-experimental
- spread-test-openstack
Expand Down Expand Up @@ -52,12 +52,12 @@ jobs:
rules: ''
use-snapd-snap-from-master: true

spread-nightly-google:
if: ${{ github.event.schedule == '0 2 * * *' || (github.event_name == 'workflow_dispatch' && inputs.job == 'spread-nightly-google') }}
spread-nightly-garden:
if: ${{ github.event.schedule == '0 2 * * *' || (github.event_name == 'workflow_dispatch' && inputs.job == 'spread-nightly-openstack') }}
uses: ./.github/workflows/spread-tests.yaml
secrets: inherit
with:
runs-on: '["self-hosted", "spread-enabled"]'
runs-on: ubuntu-latest
group: ${{ matrix.group }}
backend: ${{ matrix.backend }}
systems: ${{ matrix.systems }}
Expand All @@ -70,25 +70,13 @@ jobs:
matrix:
include:
- group: jammy
backend: google
backend: garden
systems: 'ubuntu-22.04-64'
tasks: 'tests/main/apparmor-prompting-integration-tests tests/main/interfaces-requests-activates-handlers'
- group: google
backend: google
systems: 'ALL'
tasks: 'tests/main/microk8s-smoke tests/main/download-timeout tests/main/snap-network-errors tests/main/snapd-snap:lxd tests/main/apparmor-prompting-support tests/main/proxy'
- group: google-core
backend: google-core
- group: garden
backend: garden
systems: 'ALL'
tasks: 'tests/main/microk8s-smoke tests/main/download-timeout tests/main/snap-network-errors tests/main/snapd-snap:lxd tests/main/apparmor-prompting-support tests/main/proxy'
- group: google-distro
backend: google-distro
systems: 'ALL'
tasks: 'tests/main/microk8s-smoke tests/main/download-timeout tests/main/snap-network-errors tests/main/snapd-snap:lxd tests/main/apparmor-prompting-support tests/main/proxy'
- group: google-arm
backend: google-distro
systems: 'ubuntu-22.04-arm-64 ubuntu-core-24-arm-64'
tasks: 'tests/main/microk8s-smoke tests/main/download-timeout tests/main/snap-network-errors tests/main/snapd-snap:lxd tests/main/apparmor-prompting-support tests/main/proxy'

spread-test-build-from-current:
if: ${{ github.event.schedule == '0 6 * * *' || (github.event_name == 'workflow_dispatch' && inputs.job == 'spread-test-build-from-current') }}
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/spread-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -459,8 +459,6 @@ jobs:

- name: Run spread tests
if: ${{ env.SKIP_SPREAD_LABEL != 'true' && env.RUN_TESTS == 'true' }}
env:
SPREAD_GOOGLE_KEY: ${{ secrets.SPREAD_GOOGLE_KEY }}
run: |
# Register a problem matcher to highlight spread failures
echo "::add-matcher::.github/spread-problem-matcher.json"
Expand Down
236 changes: 2 additions & 234 deletions spread.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -145,221 +145,6 @@ environment:
SNAPD_SKIP_EARLY_REFRESH: '$(HOST: echo "${SPREAD_SNAPD_SKIP_EARLY_REFRESH:-}")'

backends:
google:
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/europe-west2-b
halt-timeout: 2h
systems:
- ubuntu-14.04-64:
workers: 6
- ubuntu-16.04-64:
workers: 8
storage: 15G
- ubuntu-18.04-64:
storage: 15G
workers: 8
- ubuntu-20.04-64:
image: ubuntu-2004-64
storage: 16G
workers: 8
- ubuntu-secboot-20.04-64:
image: ubuntu-2004-64
storage: 16G
workers: 1
secure-boot: true
- ubuntu-22.04-64:
image: ubuntu-2204-64
storage: 15G
workers: 8
- ubuntu-24.04-64:
image: ubuntu-2404-64
storage: 15G
workers: 8

google-core:
type: google
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/europe-west1-b
halt-timeout: 2h
systems:
- ubuntu-core-16-64:
image: ubuntu-16.04-64
workers: 6
storage: 20G
- ubuntu-core-18-64:
image: ubuntu-18.04-64
workers: 6
storage: 20G
- ubuntu-core-20-64:
image: ubuntu-2004-64
workers: 8
storage: 20G
- ubuntu-core-22-64:
image: ubuntu-2204-64
workers: 8
storage: 20G
- ubuntu-core-24-64:
image: ubuntu-2404-64
workers: 8
storage: 20G
- ubuntu-core-26-64:
image: ubuntu-2604-64
workers: 8
storage: 20G

google-pro:
type: google
# XXX the role assigned to the key must allow for attaching service
# accounts
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/europe-west1-b
halt-timeout: 2h
systems:
- ubuntu-pro-20.04-64:
image: ubuntu-os-pro-cloud/ubuntu-pro-2004-lts
workers: 1
attach-service-account: true

- ubuntu-pro-22.04-64:
image: ubuntu-os-pro-cloud/ubuntu-pro-2204-lts
workers: 1
attach-service-account: true

- ubuntu-fips-20.04-64:
image: ubuntu-os-pro-cloud/ubuntu-pro-2004-lts
workers: 1
attach-service-account: true

- ubuntu-fips-22.04-64:
image: ubuntu-os-pro-cloud/ubuntu-pro-2204-lts
workers: 1
attach-service-account: true

- ubuntu-fips-24.04-64:
image: ubuntu-os-pro-cloud/ubuntu-pro-2404-lts-amd64
workers: 1
attach-service-account: true

google-distro:
type: google
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/europe-west3-b
halt-timeout: 2h
systems:
- debian-12-64:
storage: 20G
workers: 6
- debian-sid-64:
storage: 20G
workers: 6

- amazon-linux-2023-64:
workers: 6
storage: preserve-size

- arch-linux-64:
workers: 6
storage: 20G

- centos-9-64:
workers: 6
storage: preserve-size
image: centos-9-64

- opensuse-16.0-64:
workers: 6
- opensuse-tumbleweed-64:
workers: 6
storage: 12G
- opensuse-tumbleweed-selinux-64:
image: snapd-spread/opensuse-tumbleweed-64-selinux-enabled
workers: 6
storage: 12G

google-arm:
type: google
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/us-central1-a
plan: t2a-standard-1
halt-timeout: 2h
kill-timeout: 60m
systems:
- ubuntu-20.04-arm-64:
image: ubuntu-os-cloud/ubuntu-2004-lts-arm64
workers: 8
storage: 15G
- ubuntu-22.04-arm-64:
image: ubuntu-os-cloud/ubuntu-2204-lts-arm64
workers: 8
storage: 15G
- ubuntu-24.04-arm-64:
image: ubuntu-os-cloud/ubuntu-2404-lts-arm64
workers: 8
storage: 15G
- ubuntu-core-22-arm-64:
image: ubuntu-22.04-arm-64
workers: 6
storage: 30G
- ubuntu-core-24-arm-64:
image: ubuntu-24.04-arm-64
workers: 6
storage: 30G
# TODO add garden-sru backend
google-nested:
type: google
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/us-central1-a
plan: n2-standard-2
halt-timeout: 2h
environment:
NESTED_ARCHITECTURE: amd64
systems: &google-nested-systems
- ubuntu-16.04-64:
image: ubuntu-1604-64-virt-enabled
storage: 20G
workers: 4
- ubuntu-18.04-64:
image: ubuntu-1804-64-virt-enabled
storage: 20G
workers: 4
- ubuntu-20.04-64:
image: ubuntu-2004-64-virt-enabled
storage: 20G
workers: 12
- ubuntu-22.04-64:
image: ubuntu-2204-64-virt-enabled
storage: 25G
workers: 14
- ubuntu-24.04-64:
image: ubuntu-2404-64-virt-enabled
storage: 30G
workers: 14
- ubuntu-26.04-64:
image: ubuntu-2604-64-virt-enabled
storage: 30G
workers: 14

google-nested-arm:
type: google
key: '$(HOST: echo "$SPREAD_GOOGLE_KEY")'
location: snapd-spread/us-central1-a
plan: c4a-highcpu-4
halt-timeout: 2h
environment:
NESTED_ARCHITECTURE: arm64
NESTED_ENABLE_KVM: false
NESTED_ENABLE_TPM: '$(HOST: echo "${NESTED_ENABLE_TPM:-false}")'
NESTED_ENABLE_SECURE_BOOT: '$(HOST: echo "${NESTED_ENABLE_SECURE_BOOT:-false}")'
systems:
- ubuntu-22.04-arm-64:
image: ubuntu-2204-arm-64-virt-enabled
storage: 25G
workers: 8
- ubuntu-24.04-arm-64:
image: ubuntu-2404-arm-64-virt-enabled
storage: 25G
workers: 8

openstack:
key: '$(HOST: echo "$OS_CREDENTIALS_AMD64_PS7")'
plan: shared.xsmall
Expand Down Expand Up @@ -1184,7 +969,7 @@ repack: |
# obtained directly from GitHub. There's nothing special about that reference,
# other than it will often be in the local repository's history already.
# The more recent the reference, the smaller the delta.
if ! echo "$SPREAD_BACKENDS" | grep -e linode -e google; then
if ! echo "$SPREAD_BACKENDS" | grep -e openstack; then
cat <&3 >&4
elif ! git show-ref "$DELTA_REF" > /dev/null; then
cat <&3 >&4
Expand Down Expand Up @@ -1242,9 +1027,6 @@ prepare: |
fi

if [[ "$SPREAD_SYSTEM" == opensuse-* ]]; then
# refresh metadatadata
# Auto import gpg keys needed for could repository added to support google backend
zypper --gpg-auto-import-keys ref
# We seem to be hitting a flaky openSUSE mirror from time to time,
# increase the number of download attempts libzypp will try to
# workaround that.
Expand Down Expand Up @@ -1311,12 +1093,6 @@ prepare: |
;;
esac

# Make sure ssh service is restarted after it is killed by spread (pkill -o -HUP sshd)
# during the machine setup in google systems. For more details see lp:2011458
if [[ "$SPREAD_BACKEND" =~ google ]] && [[ "$SPREAD_SYSTEM" == ubuntu-2* ]] && ! systemctl is-active ssh; then
systemctl restart ssh
fi

# LSM correctness check
case "$SPREAD_SYSTEM" in
ubuntu-*|debian-*|arch-*)
Expand Down Expand Up @@ -1458,7 +1234,7 @@ restore-each: |
suites:
tests/lib/tools/suite/:
summary: Tests for tests/lib/tools tools
backends: [google, qemu, garden]
backends: [openstack, qemu, garden]
prepare-each: |
tests.invariant set snap-mount-dir "$(os.paths snap-mount-dir)"
"$TESTSLIB"/prepare-restore.sh --prepare-suite-each-minimal-no-snaps
Expand Down Expand Up @@ -1697,9 +1473,7 @@ suites:
tests/nested/manual/:
summary: Tests for nested images controlled manually from the tests
backends:
- google-nested
- qemu-nested
- google-nested-arm
- garden
- openstack-ext
- openstack-arm-ext
Expand Down Expand Up @@ -1788,9 +1562,7 @@ suites:
tests/nested/classic/:
summary: Tests for nested images
backends:
- google-nested
- qemu-nested
- google-nested-arm
- openstack-ext
- openstack-arm-ext
- openstack-ext-dev
Expand Down Expand Up @@ -1860,9 +1632,7 @@ suites:
tests/nested/core/:
summary: Tests for nested images
backends:
- google-nested
- qemu-nested
- google-nested-arm
- openstack-ext
- openstack-arm-ext
- openstack-ext-dev
Expand Down Expand Up @@ -1942,9 +1712,7 @@ suites:
tests/perf/nested/:
summary: Performance and Load tests preparation suite
backends:
- google-nested
- qemu-nested
- google-nested-arm
- openstack-ext
- openstack-arm-ext
- openstack-ext-dev
Expand Down
4 changes: 0 additions & 4 deletions tests/cross/go-build/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ prepare: |
chown -R test:12345 /tmp/cross-build

UBUNTU_ARCHIVE="http://archive.ubuntu.com/ubuntu/"
if [[ "$SPREAD_BACKEND" =~ google ]]; then
UBUNTU_ARCHIVE="http://$(cloud-id -l | cut -f2).gce.archive.ubuntu.com/ubuntu/"
fi

mv /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.orig
mv /etc/apt/sources.list /etc/apt/sources.list.orig
cat > /etc/apt/sources.list <<-EOF
Expand Down
Loading
Loading