Skip to content

add test-build-tags make target #7391

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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
11 changes: 11 additions & 0 deletions cluster-autoscaler/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ GOOS?=linux
GOARCH?=$(shell go env GOARCH)
REGISTRY?=staging-k8s.gcr.io
DOCKER_NETWORK?=default
SUPPORTED_BUILD_TAGS=$(shell ls cloudprovider/builder/ | grep -e '^builder_.*\.go' | sed 's/builder_\(.*\)\.go/\1/')
ifdef BUILD_TAGS
TAGS_FLAG=--tags ${BUILD_TAGS}
PROVIDER=-${BUILD_TAGS}
Expand Down Expand Up @@ -42,6 +43,16 @@ build:
build-arch-%: clean-arch-%
$(ENVVAR) GOOS=$(GOOS) GOARCH=$* go build -o cluster-autoscaler-$* ${LDFLAGS_FLAG} ${TAGS_FLAG}

test-build-tags:
@if [ -z "$(SUPPORTED_BUILD_TAGS)" ]; then \
echo "No supported build tags found"; \
exit 1; \
fi
@for tag in $(SUPPORTED_BUILD_TAGS); do \
echo "Testing build with tag $$tag"; \
BUILD_TAGS=$$tag $(MAKE) build || exit 1; \
done

test-unit: clean build
go test --test.short -race ./... ${TAGS_FLAG}

Expand Down
4 changes: 2 additions & 2 deletions cluster-autoscaler/cloudprovider/builder/builder_all.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//go:build !gce && !aws && !azure && !kubemark && !alicloud && !magnum && !digitalocean && !clusterapi && !huaweicloud && !ionoscloud && !linode && !hetzner && !bizflycloud && !brightbox && !equinixmetal && !oci && !vultr && !tencentcloud && !scaleway && !externalgrpc && !civo && !rancher && !volcengine && !baiducloud && !cherry && !cloudstack && !exoscale && !kamatera && !ovhcloud
// +build !gce,!aws,!azure,!kubemark,!alicloud,!magnum,!digitalocean,!clusterapi,!huaweicloud,!ionoscloud,!linode,!hetzner,!bizflycloud,!brightbox,!equinixmetal,!oci,!vultr,!tencentcloud,!scaleway,!externalgrpc,!civo,!rancher,!volcengine,!baiducloud,!cherry,!cloudstack,!exoscale,!kamatera,!ovhcloud
//go:build !gce && !aws && !azure && !kubemark && !alicloud && !magnum && !digitalocean && !clusterapi && !huaweicloud && !ionoscloud && !linode && !hetzner && !bizflycloud && !brightbox && !equinixmetal && !oci && !vultr && !tencentcloud && !scaleway && !externalgrpc && !civo && !rancher && !volcengine && !baiducloud && !cherry && !cloudstack && !exoscale && !kamatera && !ovhcloud && !kwok
// +build !gce,!aws,!azure,!kubemark,!alicloud,!magnum,!digitalocean,!clusterapi,!huaweicloud,!ionoscloud,!linode,!hetzner,!bizflycloud,!brightbox,!equinixmetal,!oci,!vultr,!tencentcloud,!scaleway,!externalgrpc,!civo,!rancher,!volcengine,!baiducloud,!cherry,!cloudstack,!exoscale,!kamatera,!ovhcloud,!kwok

/*
Copyright 2018 The Kubernetes Authors.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.BizflyCloudProviderName,
}

// DefaultCloudProvider build is Bizflycloud..
// DefaultCloudProvider for Bizflycloud-only build is Bizflycloud.
const DefaultCloudProvider = cloudprovider.BizflyCloudProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.BrightboxProviderName,
}

// DefaultCloudProvider is Brightbox
// DefaultCloudProvider for Brightbox-only build is Brightbox.
const DefaultCloudProvider = cloudprovider.BrightboxProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
2 changes: 1 addition & 1 deletion cluster-autoscaler/cloudprovider/builder/builder_cherry.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cherry.ProviderName,
}

// DefaultCloudProvider for Cherry-only build is Cherry
// DefaultCloudProvider for Cherry-only build is Cherry.
const DefaultCloudProvider = cherry.ProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
2 changes: 1 addition & 1 deletion cluster-autoscaler/cloudprovider/builder/builder_civo.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.CivoProviderName,
}

// DefaultCloudProvider for civo-only build is Civo.
// DefaultCloudProvider for Civo-only build is Civo.
const DefaultCloudProvider = cloudprovider.CivoProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ var AvailableCloudProviders = []string{
// DefaultCloudProvider for cloudstack-only build is cloudstack.
const DefaultCloudProvider = cloudprovider.CloudStackProviderName

func BuildCloudStack(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
switch opts.CloudProviderName {
case cloudprovider.CloudStackProviderName:
return cloudstack.BuildCloudStack(opts, do, rl)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.ClusterAPIProviderName,
}

// DefaultCloudProvider for machineapi-only build.
// DefaultCloudProvider for Cluster API-only build is Cluster API.
const DefaultCloudProvider = cloudprovider.ClusterAPIProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ import (
"k8s.io/client-go/informers"
)

// AvailableCloudProviders supported by the digtalocean cloud provider builder.
// AvailableCloudProviders supported by the DigitalOcean cloud provider builder.
var AvailableCloudProviders = []string{
cloudprovider.DigitalOceanProviderName,
}

// DefaultCloudProvider for do-only build is DigitalOcean.
// DefaultCloudProvider for DigitalOcean-only build is DigitalOcean.
const DefaultCloudProvider = cloudprovider.DigitalOceanProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ var AvailableCloudProviders = []string{
cloudprovider.EquinixMetalProviderName,
}

// DefaultCloudProvider for Packet-only build is Packet.
// DefaultCloudProvider for Packet or Equinix Metal-only build is Equinix Metal.
const DefaultCloudProvider = cloudprovider.EquinixMetalProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.ExoscaleProviderName,
}

// DefaultCloudProvider is Exoscale.
// DefaultCloudProvider for Exoscale-only build is Exoscale.
const DefaultCloudProvider = cloudprovider.ExoscaleProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
2 changes: 1 addition & 1 deletion cluster-autoscaler/cloudprovider/builder/builder_gce.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.GceProviderName,
}

// DefaultCloudProvider is GCE.
// DefaultCloudProvider for GCE-only build is GCE.
const DefaultCloudProvider = cloudprovider.GceProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.HetznerProviderName,
}

// DefaultCloudProvider is Hetzner.
// DefaultCloudProvider for Hetzner-only build is Hetzner.
const DefaultCloudProvider = cloudprovider.HetznerProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.IonoscloudProviderName,
}

// DefaultCloudProvider for IonosCloud-only build is ionoscloud.
// DefaultCloudProvider for IonosCloud-only build is IonosCloud.
const DefaultCloudProvider = cloudprovider.IonoscloudProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.KamateraProviderName,
}

// DefaultCloudProvider is Kamatera.
// DefaultCloudProvider for Kamatera-only build is Kamatera.
const DefaultCloudProvider = cloudprovider.KamateraProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
2 changes: 1 addition & 1 deletion cluster-autoscaler/cloudprovider/builder/builder_magnum.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.MagnumProviderName,
}

// DefaultCloudProvider for OpenStack-only build is OpenStack.
// DefaultCloudProvider for Magnum-only build is Magnum.
const DefaultCloudProvider = cloudprovider.MagnumProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
3 changes: 2 additions & 1 deletion cluster-autoscaler/cloudprovider/builder/builder_ovhcloud.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ package builder

import (
"k8s.io/autoscaler/cluster-autoscaler/cloudprovider"
"k8s.io/autoscaler/cluster-autoscaler/cloudprovider/ovhcloud"
"k8s.io/autoscaler/cluster-autoscaler/config"
"k8s.io/client-go/informers"
)
Expand All @@ -30,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.OVHcloudProviderName,
}

// DefaultCloudProvider is OVHcloud.
// DefaultCloudProvider for OVHcloud-only build is OVHcloud.
const DefaultCloudProvider = cloudprovider.OVHcloudProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var AvailableCloudProviders = []string{
cloudprovider.ScalewayProviderName,
}

// DefaultCloudProvider for do-only build is Scaleway.
// DefaultCloudProvider for Scaleway-only build is Scaleway.
const DefaultCloudProvider = cloudprovider.ScalewayProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ var AvailableCloudProviders = []string{
cloudprovider.TencentcloudProviderName,
}

// DefaultCloudProvider is TKE.
const DefaultCloudProvider = cloudprovider.TkeProviderName
// DefaultCloudProvider for Tencent-only build is Tencent.
const DefaultCloudProvider = cloudprovider.TencentcloudProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
switch opts.CloudProviderName {
Expand Down
5 changes: 3 additions & 2 deletions cluster-autoscaler/cloudprovider/builder/builder_vultr.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ package builder

import (
"k8s.io/autoscaler/cluster-autoscaler/cloudprovider"
"k8s.io/autoscaler/cluster-autoscaler/cloudprovider/vultr"
"k8s.io/autoscaler/cluster-autoscaler/config"
"k8s.io/client-go/informers"
)
Expand All @@ -30,13 +31,13 @@ var AvailableCloudProviders = []string{
cloudprovider.VultrProviderName,
}

// DefaultCloudProvider for linode-only build is linode.
// DefaultCloudProvider for vultr-only build is vultr.
const DefaultCloudProvider = cloudprovider.VultrProviderName

func buildCloudProvider(opts config.AutoscalingOptions, do cloudprovider.NodeGroupDiscoveryOptions, rl *cloudprovider.ResourceLimiter, _ informers.SharedInformerFactory) cloudprovider.CloudProvider {
switch opts.CloudProviderName {
case cloudprovider.VultrProviderName:
return vultr.BuildLinode(opts, do, rl)
return vultr.BuildVultr(opts, do, rl)
}

return nil
Expand Down
Loading