Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration Testing: Candidate Projects #26

Closed
sgammon opened this issue Mar 15, 2024 · 0 comments
Closed

Integration Testing: Candidate Projects #26

sgammon opened this issue Mar 15, 2024 · 0 comments
Assignees
Labels
meta Tickets about tickets

Comments

@sgammon
Copy link
Member

sgammon commented Mar 15, 2024

In order to get some solid confidence going in the JPMS forks of these libraries, there is a spot in this repo for smoke tests and another for integration tests.

Right now, these roots are empty, but the intent is to fill them with:

  • Smoke tests: jar --validate, and other obvious-failure tests; assertions about JAR structure, including valid MRJAR structure, illegal class layout, and so on. Loading libraries with a range of supported JDKs.

  • Integration tests: Entire projects which depend on the libraries provided by this repo. Each is forked and overridden to depend on these libraries, or is instructed from outside the build to depend on these libraries based on configuration.


The question then moves naturally to a strong representative set of use of Guava, Reactive Streams, Protocol Buffers, and so on, from JVM languages.

Screenshot 2024-03-14 at 11 18 04 PM

Example of results

Browsing and manually cross-referencing these lists, roughly ordered by stars and compatibility, yields (in vendor order):

Comparison and reasoning below:

Repository Build system + Language Libraries used Outcome
dubbo Maven, Java Protobuf, Guava, Reactive ✅ Included
pkl Gradle, Java, Kotlin Guava ✅ Included
bazel Bazel, Java Protobuf, Guava, Reactive ✅ Included
checkstyle Maven, Java Guava ✅ Included
gson Maven, Java Protobuf, Guava 🆙 Promoted
armeria Gradle, Java Guava, Protobuf, Reactive ✅ Included
ghidra Gradle, Java Guava, Protobuf ⚠️ Complex build
pmd Maven, Java Guava ✅ Included
Signal-Server Maven, Java Guava, Protobuf, Reactive ✅ Included

✅ = Included in integration tests
🆙 = Promoted to repository library
⚠️ = Problems or other blockers

@sgammon sgammon added the meta Tickets about tickets label Mar 15, 2024
@sgammon sgammon pinned this issue Mar 15, 2024
sgammon added a commit that referenced this issue Mar 15, 2024
- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>
sgammon added a commit that referenced this issue Mar 15, 2024
- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>
sgammon added a commit that referenced this issue Mar 15, 2024
- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>
sgammon added a commit that referenced this issue Mar 15, 2024
- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>
sgammon added a commit that referenced this issue Mar 15, 2024
- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>
sgammon added a commit that referenced this issue Mar 15, 2024
- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>
sgammon added a commit that referenced this issue Mar 15, 2024
* chore: drop scorecards flow

Signed-off-by: Sam Gammon <sam@elide.ventures>

* test: add submodules for new integration tests

- feat: build tooling for integration test builds
- chore: add `apache/dubbo`
- chore: add `apple/pkl`
- chore: add `bazelbuild/bazel`
- chore: add `checkstyle/checkstyle`
- chore: add `pmd/pmd`
- chore: add `line/armeria`
- chore: add `NationalSecurityAgency/ghidra`
- chore: add `signalapp/signal-server`
- fix: ignore and remove further snapshot artifacts
- fix: publish all modules for `guava` (parent, bom, testlib)
- docs: page headings, jekyll fixes

Relates-To: #26
Signed-off-by: Sam Gammon <sam@elide.ventures>

---------

Signed-off-by: Sam Gammon <sam@elide.ventures>
@sgammon sgammon closed this as completed Apr 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Tickets about tickets
Projects
None yet
Development

No branches or pull requests

2 participants