api7 / api7/a6

Follow-up: a6 test / skills / docs review findings

Open
#14 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
1
Forks
2
Avg merge
56m
Merged PRs (30d)
2

Description

Background

Before putting a6 into real use, we completed a full review and local rerun of the current test system, skills, and documentation.

Detailed Feishu report:

Current Conclusions

  • The baseline CI test suite passes.
  • With the current CI E2E workflow deployment model, the a6 E2E suite can also be reproduced successfully in a local environment.
  • skills metadata validation passes.
  • After running the skills E2E suite locally against a real environment, all cases pass except skywalking, which is skipped because the required conditional plugin is missing.
  • The current overall code coverage is approximately 52.4%.

This indicates that a6 already has a relatively complete automation baseline, but there are still gaps before it can be considered ready for “100% coverage / full pre-release validation”.

Follow-up Items

P0
  • Clarify the conditional capability boundary for the skywalking skill
    • TestSkillPluginSkywalking is currently skipped with the current image
    • We need to make it explicit that this is a conditional skip caused by a missing plugin, not a fully covered and passing case
P1
  • Add compatibility tests for debug logs container naming

    • The current setup passes with the CI container name apisix
    • However, the test currently assumes a hard-coded container name, which can easily lead to mismatches in local reproduction
  • Add capability-boundary coverage for Global Rule labels

    • The related case is currently skipped because APISIX does not support it
  • Add tests for shared modules and low-coverage modules

    • Such as selector, tableprinter, root, configutil, and similar modules
  • Add more combined scenario coverage

    • service + route + plugin-config
    • Real traffic verification for multi-node upstreams
    • More non-happy-path and invalid-parameter branches
P2
  • Continue raising low-coverage packages one by one based on the coverage report by adding more unit tests

Suggested Outputs

  • Track conditional-capability cases separately from real passing cases
  • Add another round of test supplementation using semantic scenarios as the unit of coverage
  • Keep tests and documentation aligned in follow-up PRs

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with TestSkillPluginSkywalking and the existing skills E2E tests, then review the coverage report and the shared modules named in the issue: selector, tableprinter, root, and configutil. Add coverage for conditional capabilities, container-name compatibility, unsupported Global Rule labels, shared modules, and combined scenarios; done means the cases are tracked distinctly and the tests and documentation remain aligned.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.