Copilot commented on code in PR #2843:
URL:
https://github.com/apache/apisix-ingress-controller/pull/2843#discussion_r3763491904
##########
.github/workflows/apisix-conformance-test.yml:
##########
@@ -74,38 +93,75 @@ jobs:
- name: Install And Run Cloud Provider KIND
run: |
- go install sigs.k8s.io/[email protected]
- nohup cloud-provider-kind > /tmp/kind-loadbalancer.log 2>&1 &
+ make kind-lb
- name: Install Gateway API And CRDs
run: |
make install
- name: Loading Docker Image to Kind Cluster
+ if: ${{ !inputs.image_tag }}
run: |
make kind-load-adc-image
make kind-load-ingress-image
+ # A release run pulls the published images instead, and the report names
+ # the release rather than the commit.
+ - name: Resolve Released Images
+ if: ${{ inputs.image_tag }}
+ shell: bash
+ run: |
+ # The report names image_tag, but the skip list, the supported
feature
+ # list and the manifests all come from the ref this runs on, so a
+ # mismatch produces a report nobody can reproduce.
+ if [ "${{ github.ref_name }}" != "${{ inputs.image_tag }}" ]; then
+ echo "::error::run this from tag ${{ inputs.image_tag }}, not ${{
github.ref_name }}"
+ exit 1
+ fi
+ echo "CONFORMANCE_IMAGE_TAG=${{ inputs.image_tag }}" >> $GITHUB_ENV
Review Comment:
This validates the input against the selected ref, but never checks the
Makefile `VERSION`. The PR promises an early failure when the release tag and
`VERSION` disagree; currently a stale `VERSION` passes this step and the
workflow still emits a report named for the tag. Resolve `VERSION` through Make
and compare it with `inputs.image_tag` here as well.
##########
Makefile:
##########
@@ -52,12 +54,43 @@ MIN_K8S_VERSION ?= 1.31.0
GO_LDFLAGS ?= "-X=$(VERSYM)=$(VERSION) -X=$(GITSHASYM)=$(GITSHA)
-X=$(BUILDOSSYM)=$(OSNAME)/$(OSARCH) -X=$(MINK8SVERSYM)=$(MIN_K8S_VERSION)"
# gateway-api
-GATEAY_API_VERSION ?= v1.6.0
+GATEWAY_API_VERSION ?= v1.6.0
##
https://github.com/kubernetes-sigs/gateway-api/blob/v1.6.0/pkg/features/httproute.go
SUPPORTED_EXTENDED_FEATURES =
"HTTPRouteDestinationPortMatching,HTTPRouteMethodMatching,HTTPRoutePortRedirect,HTTPRouteRequestMirror,HTTPRouteSchemeRedirect,GatewayAddressEmpty,HTTPRouteResponseHeaderModification,GatewayPort8080,HTTPRouteHostRewrite,HTTPRouteQueryParamMatching,HTTPRoutePathRewrite,HTTPRouteBackendProtocolWebSocket,TLSRouteModeTerminate"
-CONFORMANCE_TEST_REPORT_OUTPUT ?=
$(DIR)/apisix-ingress-controller-conformance-report.yaml
##
https://github.com/kubernetes-sigs/gateway-api/blob/v1.6.0/conformance/utils/suite/profiles.go
CONFORMANCE_PROFILES ?= GATEWAY-HTTP,GATEWAY-GRPC,GATEWAY-TLS
+# Report metadata, filled into the report's implementation block by the suite.
+#
https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/README.md
+CONFORMANCE_ORGANIZATION ?= apache
+CONFORMANCE_PROJECT ?= apisix-ingress-controller
+CONFORMANCE_URL ?= https://github.com/apache/apisix-ingress-controller
+CONFORMANCE_CONTACT ?=
https://github.com/apache/apisix-ingress-controller/issues
+# The channel install-gateway-api installs from.
+CONFORMANCE_CHANNEL ?= experimental
+# A non-default mode must map to a specific setup and be documented in the
+# report's Reproduce section.
+CONFORMANCE_MODE ?= default
+# The data plane a release report is produced against. apisix:dev is a floating
+# tag, so a report meant to be reproducible has to name a released one.
+CONFORMANCE_DATAPLANE_VERSION ?= 3.17.0-debian
Review Comment:
The release dataplane no longer matches the PR's stated setup or the
repository compatibility table (`docs/en/latest/overview.md:61-65`): both
select the recommended APISIX 3.13, while this makes every release report test
3.17. Either keep the documented 3.13 baseline or update the release rationale
and compatibility documentation before producing the report.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]