AlinsRan opened a new pull request, #2843:
URL: https://github.com/apache/apisix-ingress-controller/pull/2843

   ## Description
   
   Makes the report produced by the conformance job submittable to 
[kubernetes-sigs/gateway-api conformance 
reports](https://github.com/kubernetes-sigs/gateway-api/blob/main/conformance/reports/README.md).
 Today it violates the submission rules in four ways, none of which are visible 
until someone tries to upstream it.
   
   **Must land before the v2.2.0 tag.** A submitted report must be produced 
from the tagged commit and uploaded unmodified, so the metadata has to be 
correct in the tag itself — a report cannot be edited after the fact.
   
   ### What was wrong
   
   1. **The declared version was a lie.** `conformance_test.go` assigned 
`opts.Implementation` after `conformance.DefaultOptions(t)`, which overrode the 
suite's `--organization/--project/--url/--version/--contact` flags. `Version` 
was hardcoded to `v2.1.0`, so reports produced from master claimed a release 
that does not contain Gateway API 1.6 support at all. Upstream requires 
`version` to be the snapshot actually tested.
   2. **The two provider runs collided.** Both wrote the same file and declared 
`mode: default`, so they cannot coexist in one upstream directory. `apisix` is 
the controller's default provider and keeps `default`; the standalone run 
declares `apisix-standalone`.
   3. **The file name did not match the required pattern** 
`<channel>-<version>-<mode>-report.yaml`.
   4. `url` was a `.git` clone URL rather than the repository page.
   
   ### Changes
   
   - `conformance_test.go`: drop the `opts.Implementation` assignment, leaving 
the flags `DefaultOptions` already applied.
   - `Makefile`: `CONFORMANCE_ORGANIZATION/PROJECT/URL/CONTACT/CHANNEL/MODE` 
variables, passed to the suite; the report path is derived as 
`<channel>-v<VERSION>-<mode>-report.yaml`. New `conformance-report-path` target 
prints it.
   - Workflow: matrix carries the mode, the report path is resolved from the 
Makefile, tag and `workflow_dispatch` triggers are added, and a new step fails 
a release run whose report contains a failing profile. Branch and PR runs keep 
`continue-on-error` and only warn.
   
   ### Verification
   
   `go vet -tags conformance,experimental ./test/conformance/` passes and `make 
-n conformance-test` expands to the flags above. On this branch `make -s 
conformance-report-path` prints `experimental-v2.1.0-default-report.yaml` and 
`…-apisix-standalone-report.yaml` with `CONFORMANCE_MODE=apisix-standalone`; it 
becomes `v2.2.0` automatically once #2838 bumps `VERSION`. The full conformance 
run is exercised by this PR's own CI.
   
   ### Not included
   
   The latest master report is `0 failed`, with `GATEWAY-GRPC` fully `success` 
and `GATEWAY-HTTP`/`GATEWAY-TLS` `partial` (5 and 4 skipped core tests). 
`partial` is an accepted submission category, so this is publishable, but two 
things would improve where it lands in the implementations table and need a 
separate decision:
   
   - `SUPPORTED_EXTENDED_FEATURES` claims `HTTPRoutePortRedirect`, 
`HTTPRouteSchemeRedirect` and `TLSRouteModeTerminate` while the tests covering 
them (`HTTPRouteRedirectPortAndScheme`, `TLSRouteTerminateSimpleSameNamespace`) 
are skipped. Either the tests get fixed or the claims get dropped.
   - The three `HTTPRouteInvalidBackendRef*` skips are marked in the code as a 
known gap awaiting the empty-upstream sync fix, not an architectural limit.
   
   Also out of scope: a standard-channel report. Gateway API 1.6 serves 
TCPRoute/UDPRoute/TLSRoute in the standard channel, so `install-gateway-api` 
could grow a standard variant and publish both, as cilium and airlock do.
   
   ## Checklist
   
   - [x] I have explained the need for this PR and the problem it solves
   - [x] I have explained the changes or the new features added to this PR
   - [ ] I have added tests corresponding to this change
   - [ ] I have updated the documentation to reflect this change
   - [x] I have verified that this change is backward compatible (if not, 
please discuss on the APISIX mailing list first)
   


-- 
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]

Reply via email to