diff --git a/.github/workflows/conformance-test.yml b/.github/workflows/conformance-test.yml index dc3f3a576..fffe5d763 100644 --- a/.github/workflows/conformance-test.yml +++ b/.github/workflows/conformance-test.yml @@ -39,6 +39,7 @@ jobs: ./get_helm.sh conformance-test: + timeout-minutes: 60 needs: - prepare runs-on: buildjet-2vcpu-ubuntu-2204 diff --git a/Makefile b/Makefile index b8d3a52c3..e10eec895 100644 --- a/Makefile +++ b/Makefile @@ -115,7 +115,7 @@ download-api7ee3-chart: .PHONY: conformance-test conformance-test: - DASHBOARD_VERSION=$(DASHBOARD_VERSION) go test -v ./test/conformance -tags=conformance + DASHBOARD_VERSION=$(DASHBOARD_VERSION) go test -v ./test/conformance -tags=conformance -timeout 60m .PHONY: lint lint: sort-import golangci-lint ## Run golangci-lint linter diff --git a/api/adc/types.go b/api/adc/types.go index 1c561fd19..d19167be1 100644 --- a/api/adc/types.go +++ b/api/adc/types.go @@ -418,9 +418,9 @@ type RewriteConfig struct { } type Headers struct { - Set map[string]string `json:"set" yaml:"set"` - Add map[string]string `json:"add" yaml:"add"` - Remove []string `json:"remove" yaml:"remove"` + Set map[string]string `json:"set,omitempty" yaml:"set,omitempty"` + Add map[string]string `json:"add,omitempty" yaml:"add,omitempty"` + Remove []string `json:"remove,omitempty" yaml:"remove,omitempty"` } // ResponseRewriteConfig is the rule config for response-rewrite plugin. diff --git a/test/conformance/conformance_test.go b/test/conformance/conformance_test.go index 4d2e93c09..36859daf7 100644 --- a/test/conformance/conformance_test.go +++ b/test/conformance/conformance_test.go @@ -26,34 +26,25 @@ var skippedTestsForSSL = []string{ var skippedTestsForTraditionalRoutes = []string{ // TODO: Support ReferenceGrant resource + tests.GatewaySecretInvalidReferenceGrant.ShortName, + tests.GatewaySecretMissingReferenceGrant.ShortName, + tests.HTTPRouteInvalidCrossNamespaceBackendRef.ShortName, tests.HTTPRouteInvalidReferenceGrant.ShortName, tests.HTTPRoutePartiallyInvalidViaInvalidReferenceGrant.ShortName, tests.HTTPRouteReferenceGrant.ShortName, - tests.GatewayInvalidTLSConfiguration.ShortName, - tests.GatewaySecretMissingReferenceGrant.ShortName, - /* - tests.GatewayInvalidTLSConfiguration.ShortName, - tests.GatewayModifyListeners.ShortName, - tests.GatewayWithAttachedRoutes.ShortName, - */ - tests.HTTPRouteHTTPSListener.ShortName, - tests.HTTPRouteHeaderMatching.ShortName, + + // TODO: HTTPRoute hostname intersection and listener hostname matching + tests.HTTPRouteHostnameIntersection.ShortName, + tests.HTTPRouteListenerHostnameMatching.ShortName, + tests.HTTPRouteMatching.ShortName, - tests.HTTPRouteExactPathMatching.ShortName, + tests.HTTPRouteMatchingAcrossRoutes.ShortName, + + tests.GatewayInvalidTLSConfiguration.ShortName, tests.HTTPRouteInvalidBackendRefUnknownKind.ShortName, - tests.HTTPRouteInvalidNonExistentBackendRef.ShortName, tests.HTTPRouteInvalidCrossNamespaceParentRef.ShortName, + tests.HTTPRouteInvalidNonExistentBackendRef.ShortName, tests.HTTPRouteInvalidParentRefNotMatchingSectionName.ShortName, - tests.HTTPRouteRequestHeaderModifier.ShortName, - tests.HTTPRouteWeight.ShortName, - tests.HTTPRouteHostnameIntersection.ShortName, - tests.HTTPRouteListenerHostnameMatching.ShortName, - tests.HTTPRouteMatchingAcrossRoutes.ShortName, - tests.GatewaySecretReferenceGrantSpecific.ShortName, - tests.GatewaySecretInvalidReferenceGrant.ShortName, - tests.GatewaySecretReferenceGrantAllInNamespace.ShortName, - tests.HTTPRouteInvalidCrossNamespaceBackendRef.ShortName, - tests.HTTPRouteInvalidReferenceGrant.ShortName, } var gatewaySupportedFeatures = []features.FeatureName{ diff --git a/test/conformance/suite_test.go b/test/conformance/suite_test.go index 4ff217ebb..0bf5e876e 100644 --- a/test/conformance/suite_test.go +++ b/test/conformance/suite_test.go @@ -63,6 +63,7 @@ func deleteNamespace(kubectl *k8s.KubectlOptions) { "gateway-conformance-infra", "gateway-conformance-web-backend", "gateway-conformance-app-backend", + "api7ee-conformance-test", } for _, ns := range namespacesToDelete {