mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-09 05:56:58 +02:00
165 lines
6.3 KiB
Bash
165 lines
6.3 KiB
Bash
# Copyright (c) 2021 The Flatcar Maintainers.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Flatcar CI static configuration
|
|
|
|
# Build cache server for build artifacts.
|
|
# Required services:
|
|
# - http and https (WITHOUT auto-redirect)
|
|
# - ssh for BUILDCACHE_USER
|
|
BUILDCACHE_SERVER="${BUILDCACHE_SERVER:-bincache.flatcar-linux.net}"
|
|
BUILDCACHE_PATH_PREFIX="/srv/bincache"
|
|
BUILDCACHE_USER="bincache"
|
|
|
|
RELEASES_SERVER="mirror.release.flatcar-linux.net"
|
|
CONTAINER_REGISTRY="ghcr.io/flatcar"
|
|
RELEASES_JSON_FEED="https://www.flatcar.org/releases-json/releases.json"
|
|
|
|
GC_BUCKET="flatcar-linux"
|
|
|
|
DEFAULT_HTTP_IMAGE_URL_TEMPLATE="@PROTO@://${BUILDCACHE_SERVER}/images/@ARCH@/@VERNUM@"
|
|
|
|
if ! command -v zstd > /dev/null; then
|
|
# we require zstd and it is included by default on flatcar
|
|
echo >&2 "zstd could not be found. unpacking container image may fail."
|
|
fi
|
|
|
|
CI_GIT_AUTHOR="flatcar-ci"
|
|
CI_GIT_EMAIL="infra+ci@flatcar-linux.org"
|
|
|
|
# build artifacts go here (in container)
|
|
CONTAINER_IMAGE_ROOT="/home/sdk/trunk/src/build/images"
|
|
|
|
# Set it to "1" or "true" or "t" or "y" or "yes" to always run a full
|
|
# nightly build. Any other value will allow build shortcuts.
|
|
: ${AVOID_NIGHTLY_BUILD_SHORTCUTS:=0}
|
|
|
|
#
|
|
# Image / vendor tests settings
|
|
#
|
|
|
|
# NOTE that these settings are evaluated by the vendor-tests script inside the
|
|
# SDK container. To override, new values must be passed into the container.
|
|
# Use something like
|
|
# echo "export [VAR]=\"${[VALUE]}\\"" > sdk_container/.env
|
|
# in your CI to override, e.g.
|
|
# echo "export PARALLEL_TESTS=\"5\"" > sdk_container/.env
|
|
# to override the number of test cases to be run in parallel.
|
|
|
|
# -- General --
|
|
|
|
# "tap" for TAP reports, "md" for markdown are currently supported
|
|
TEST_REPORT_FORMATS=("tap" "md")
|
|
|
|
# -- QEMU --
|
|
|
|
QEMU_IMAGE_NAME=${QEMU_IMAGE_NAME:-flatcar_production_image.bin}
|
|
QEMU_PARALLEL="${PARALLEL_TESTS:-20}"
|
|
|
|
# Whether kola can use loop devices to capture serial console output and check for error patterns
|
|
QEMU_KOLA_SKIP_MANGLE="${QEMU_KOLA_SKIP_MANGLE:-}"
|
|
|
|
# BIOS path within the SDK
|
|
QEMU_BIOS="/usr/share/qemu/bios-256k.bin"
|
|
|
|
# UEFI bios filename on build cache.
|
|
# Published by vms.sh as part of the qemu vendor build.
|
|
QEMU_UEFI_BIOS="${QEMU_UEFI_BIOS:-flatcar_production_qemu_uefi_efi_code.fd}"
|
|
QEMU_UEFI_SECURE_BIOS="${QEMU_UEFI_SECURE_BIOS:-flatcar_production_qemu_uefi_secure_efi_code.fd}"
|
|
|
|
# Update payload for the qemu_update.sh test.
|
|
# The default path set below is relative to TEST_WORK_DIR
|
|
QEMU_UPDATE_PAYLOAD="${QEMU_UPDATE_PAYLOAD:-tmp/flatcar_test_update.gz}"
|
|
|
|
# Devcontainer settings for isolated / local testing w/o a remote
|
|
# devcontainer server and/or binhost.
|
|
# Can optionally be set to http / https URLs to pull the dev container
|
|
# and the binpackages from.
|
|
QEMU_DEVCONTAINER_URL="${QEMU_DEVCONTAINER_URL:-}"
|
|
QEMU_DEVCONTAINER_BINHOST_URL="${QEMU_DEVCONTAINER_BINHOST_URL:-}"
|
|
QEMU_DEVCONTAINER_FILE="${QEMU_DEVCONTAINER_FILE:-}"
|
|
|
|
# -- Equinix Metal --
|
|
EQUINIXMETAL_PARALLEL="${PARALLEL_TESTS:-4}"
|
|
# Metro is a set of Equinix Metal regions
|
|
EQUINIXMETAL_amd64_METRO="${EQUINIXMETAL_amd64_METRO:-SV}"
|
|
EQUINIXMETAL_arm64_METRO="${EQUINIXMETAL_arm64_METRO:-DC}"
|
|
# Name of the Equinix Metal image
|
|
EQUINIXMETAL_IMAGE_NAME="flatcar_production_packet_image.bin.bz2"
|
|
# Storage URL required to store user-data
|
|
EQUINIXMETAL_STORAGE_URL="${EQUINIXMETAL_STORAGE_URL:-gs://flatcar-jenkins/mantle/packet}"
|
|
# Equinix Metal default AMD64 instance type
|
|
EQUINIXMETAL_amd64_INSTANCE_TYPE="${EQUINIXMETAL_amd64_INSTANCE_TYPE:-c3.small.x86}"
|
|
# Space separated list of instance types. On those instances the
|
|
# cl.internet kola test will be run if this test is selected to run.
|
|
EQUINIXMETAL_amd64_MORE_INSTANCE_TYPES="m3.small.x86 c3.medium.x86 m3.large.x86 s3.xlarge.x86 n2.xlarge.x86"
|
|
# Equinix Metal default ARM64 instance type
|
|
EQUINIXMETAL_arm64_INSTANCE_TYPE="c3.large.arm"
|
|
# Space separated list of instance types. On those instances the
|
|
# cl.internet kola test will be run if this test is selected to run.
|
|
EQUINIXMETAL_arm64_MORE_INSTANCE_TYPES=""
|
|
|
|
# -- PXE --
|
|
PXE_KERNEL_NAME="flatcar_production_pxe.vmlinuz"
|
|
PXE_IMAGE_NAME="flatcar_production_pxe_image.cpio.gz"
|
|
|
|
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 "@PROTO@" "@ARCH@", "@CHANNEL@" and "@VERNUM@" placeholders. They will
|
|
# be replaced.
|
|
: ${DIGITALOCEAN_IMAGE_URL_TEMPLATE:="${DEFAULT_HTTP_IMAGE_URL_TEMPLATE}/flatcar_production_digitalocean_image.bin.bz2"}
|
|
: ${DIGITALOCEAN_REGION:='sfo3'}
|
|
: ${DIGITALOCEAN_MACHINE_SIZE:='s-2vcpu-2gb'}
|
|
DIGITALOCEAN_PARALLEL="${PARALLEL_TESTS:-8}"
|
|
# DIGITALOCEAN_TOKEN_JSON env var is used for credentials, and should
|
|
# come from sdk_container/.env. It must be base64-encoded.
|
|
|
|
# -- VMware ESX --
|
|
|
|
: ${VMWARE_ESX_IMAGE_NAME:='flatcar_production_vmware_ova.ova'}
|
|
VMWARE_ESX_PARALLEL="${PARALLEL_TESTS:-4}"
|
|
# VMWARE_ESX_CREDS should come from sdk_container/.env and must be
|
|
# base64-encoded.
|
|
|
|
# -- AWS --
|
|
|
|
: ${AWS_amd64_INSTANCE_TYPE:="t3.small"}
|
|
# Space separated list of instance types. On those instances the
|
|
# cl.internet kola test will be run if this test is selected to run.
|
|
: ${AWS_amd64_MORE_INSTANCE_TYPES:="m4.2xlarge"}
|
|
: ${AWS_arm64_INSTANCE_TYPE:="a1.large"}
|
|
# Space separated list of instance types. On those instances the
|
|
# cl.internet kola test will be run if this test is selected to run.
|
|
: ${AWS_arm64_MORE_INSTANCE_TYPES:=""}
|
|
: ${AWS_IAM_PROFILE:="ciauto-test"}
|
|
: ${AWS_REGION:="us-east-1"}
|
|
: ${AWS_AMI_ID:=""}
|
|
AWS_PARALLEL="${PARALLEL_TESTS:-8}"
|
|
# AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY should come from
|
|
# sdk_container/.env
|
|
|
|
# -- Azure --
|
|
: ${AZURE_IMAGE_NAME:="flatcar_production_azure_image.vhd"}
|
|
: ${AZURE_amd64_MACHINE_SIZE:="Standard_D2s_v4"}
|
|
: ${AZURE_arm64_MACHINE_SIZE:="Standard_D2pls_v5"}
|
|
: ${AZURE_USE_GALLERY:=""}
|
|
: ${AZURE_USE_PRIVATE_IPS:=true}
|
|
: ${AZURE_VNET_SUBNET_NAME:="jenkins-vnet-westeurope"}
|
|
AZURE_PARALLEL="${PARALLEL_TESTS:-20}"
|
|
AZURE_LOCATION="${AZURE_LOCATION:-westeurope}"
|
|
|
|
# -- Openstack --
|
|
: ${OPENSTACK_IMAGE_NAME:='flatcar_production_openstack_image.img.gz'}
|
|
OPENSTACK_PARALLEL="${PARALLEL_TESTS:-3}"
|
|
|
|
# -- Brightbox --
|
|
: ${BRIGHTBOX_IMAGE_NAME:='flatcar_production_openstack_image.img'}
|
|
BRIGHTBOX_PARALLEL="${PARALLEL_TESTS:-1}"
|
|
: ${BRIGHTBOX_SERVER_TYPE:="2gb.ssd"}
|