Repository navigation
[Task] Establish the shenyu-plugin-store build, test, E2E, and release baseline #7294
Copy link
Copy link
Open
Labels
area/cipriority: criticalCritical severityCritical severitystatus: volunteer wantedExtra attention is neededExtra attention is neededtype: build
Description
Background
apache/shenyu-plugin-store is the target repository for optional ShenYu plugins, but its current master branch is not yet a reliable migration target:
- it has no Maven wrapper even though the PR template requires
./mvnw clean install; - it has no GitHub Actions workflow;
- a clean root build fails because nested aggregator POMs resolve
shenyu-plugin-storethrough the wrong relative path; shenyu-plugin-tarsexplicitly skips Surefire tests;- plugin code is coupled to classes that may be removed from
apache/shenyu(Motan already references removed enum/DTO members); - artifact publication ownership and the supported ShenYu compatibility range are not documented.
This issue is the blocking foundation for all plugin-by-plugin migrations.
Scope
Repository build contract
- Add and commit Maven Wrapper files.
- Fix aggregator parent resolution so a clean checkout builds from the repository root.
- Separate the plugin-store release version from the consumed ShenYu core/API version.
- Import or depend on a released ShenYu BOM/API contract without relying on an unpublished reactor.
- Run Checkstyle, Apache RAT, compilation, unit tests, and packaging from one documented command.
- Remove all module-level test skips unless a documented profile isolates an external integration test.
CI and compatibility
- Add GitHub Actions for JDK 17 build/test/RAT/checkstyle.
- Add a compatibility matrix for the supported ShenYu minor line(s).
- Add a reusable per-plugin E2E job contract: build the plugin and starter, launch a gateway with the external artifact, configure the plugin, exercise one success path and one failure/config-refresh path, and collect logs.
- Define how external middleware containers/services are provisioned and cached.
- Require unit tests for plugin code and starter auto-configuration.
Release and governance
- Document Maven coordinates, versioning, release cadence, and the cutover rule that prevents the same artifact from being published by both repositories.
- Add dependency, LICENSE/NOTICE, source/javadoc, signing, and reproducible-release checks required by ASF releases.
- Document the two-repository PR sequence and rollback procedure.
- Add a plugin inventory/compatibility table to the README.
Acceptance Criteria
- A clean checkout passes
./mvnw clean verifyon JDK 17. - CI executes build, unit tests, Checkstyle, RAT, and packaging for every PR.
- No migrated plugin silently skips unit tests.
- A reusable E2E workflow is documented and proven with at least one existing plugin.
- Plugin-store artifacts compile against the declared released ShenYu API/BOM.
- Publication ownership and version compatibility rules are documented.
- The contribution and PR templates reference commands that exist in this repository.
References
- Plugin store: https://github.com/apache/shenyu-plugin-store
- Existing Motan migration: [type:init] add motan plugin shenyu-plugin-store#1
- Existing TARS migrations: [type: refactor] init tarts plugin shenyu-plugin-store#2 and [type:init] add tars and motan starter shenyu-plugin-store#3
Metadata
Metadata
Assignees
Labels
area/cipriority: criticalCritical severityCritical severitystatus: volunteer wantedExtra attention is neededExtra attention is neededtype: build
Activity
github-actions commentedon Sep 26, 2026
👋 Hello @Aias00
A new issue has been opened by @Aias00:
Please review when you have time. Thank you! 🙏
sunnysabor commentedon Oct 2, 2026
Progress update: I opened apache/shenyu-plugin-store PR #5 for the root build baseline and JDK 17 CI slice. The latest PR branch passes
./mvnw -B -ntp clean verifyin the fork workflow across all 8 reactor modules (46 tests, Checkstyle, and RAT): run 36955295605.This is only the build/CI foundation. The broader E2E, compatibility, release, and governance acceptance criteria in this issue remain open; I am sharing the PR because #7295 depends on this build baseline.
Aias00 commentedon Oct 2, 2026
The current CI setup is comprehensive and meets the project's present needs. We do not need further CI adjustments at this time, so this issue is being closed for now.