mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-22 22:21:10 +02:00
ci-automation: Initial test script for Digital Ocean
This commit is contained in:
parent
4adf8df751
commit
b6bb07acdc
@ -82,3 +82,13 @@ GCE_IMAGE_NAME="flatcar_production_gce.tar.gz"
|
||||
GCE_GCS_IMAGE_UPLOAD="gs://flatcar-jenkins/developer/gce-ci"
|
||||
GCE_MACHINE_TYPE="${GCE_MACHINE_TYPE:-n1-standard-2}"
|
||||
GCE_PARALLEL="${PARALLEL_TESTS:-4}"
|
||||
|
||||
# -- Digital Ocean --
|
||||
|
||||
# Use the "@ARCH@", "@CHANNEL@" and "@VERNUM@" placeholders. They will
|
||||
# be replaced.
|
||||
DO_IMAGE_URL="https://${BUILDCACHE_SERVER}/images/@ARCH@/@VERNUM@/flatcar_production_digitalocean_image.bin.bz2"
|
||||
DO_CONFIG_FILE='do-token.json'
|
||||
DO_REGION='sfo3'
|
||||
DO_MACHINE_SIZE='s-2vcpu-2gb'
|
||||
DO_PARALLEL='8'
|
||||
|
71
ci-automation/vendor-testing/digitalocean.sh
Executable file
71
ci-automation/vendor-testing/digitalocean.sh
Executable file
@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2022 The Flatcar Maintainers.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Test execution script for the Digital Ocean vendor image.
|
||||
# This script is supposed to run in the mantle container.
|
||||
|
||||
work_dir="$1"; shift
|
||||
arch="$1"; shift
|
||||
vernum="$1"; shift
|
||||
tapfile="$1"; shift
|
||||
|
||||
# $@ now contains tests / test patterns to run
|
||||
|
||||
source ci-automation/ci_automation_common.sh
|
||||
source sdk_lib/sdk_container_common.sh
|
||||
|
||||
mkdir -p "${work_dir}"
|
||||
cd "${work_dir}"
|
||||
|
||||
# We never ran Digital Ocean on arm64, so for now fail it as an
|
||||
# unsupported option.
|
||||
if [[ "${arch}" == "arm64" ]]; then
|
||||
echo "1..1" > "${tapfile}"
|
||||
echo "not ok - all digital ocean tests" >> "${tapfile}"
|
||||
echo " ---" >> "${tapfile}"
|
||||
echo " ERROR: ARM64 tests not supported on Digital Ocean." | tee -a "${tapfile}"
|
||||
echo " ..." >> "${tapfile}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
channel="$(get_git_channel)"
|
||||
if [[ "${channel}" = 'developer' ]]; then
|
||||
channel='alpha'
|
||||
fi
|
||||
image_name="ci-${vernum//+/-}"
|
||||
testscript="$(basename "$0")"
|
||||
image_url="${DO_IMAGE_URL//@ARCH@/${arch}}"
|
||||
image_url="${image_url//@CHANNEL@/${channel}}"
|
||||
image_url="${image_url//@VERNUM@/${vernum}}"
|
||||
|
||||
ore do create-image \
|
||||
--config-file="${DO_CONFIG_FILE}" \
|
||||
--region="${DO_REGION}" \
|
||||
--name="${image_name}" \
|
||||
--url="${image_url}"
|
||||
|
||||
trap 'ore do delete-image \
|
||||
--name="${image_name}" \
|
||||
--config-file="${DO_CONFIG_FILE}"' EXIT
|
||||
|
||||
set -x
|
||||
|
||||
timeout --signal=SIGQUIT 4h\
|
||||
kola run \
|
||||
--do-size="${DO_MACHINE_SIZE}" \
|
||||
--do-region="${DO_REGION}" \
|
||||
--basename="${image_name}" \
|
||||
--do-config-file="${DO_CONFIG_FILE}" \
|
||||
--do-image="${image_name}" \
|
||||
--parallel="${DO_PARALLEL}" \
|
||||
--platform=do \
|
||||
--channel="${channel}" \
|
||||
--tapfile="${tapfile}" \
|
||||
--torcx-manifest='../torcx_manifest.json' \
|
||||
"${@}"
|
||||
|
||||
set +x
|
Loading…
x
Reference in New Issue
Block a user