Title: Cross JRE testing matrix · Issue #335 · hypertrace/javaagent · GitHub
Open Graph Title: Cross JRE testing matrix · Issue #335 · hypertrace/javaagent
X Title: Cross JRE testing matrix · Issue #335 · hypertrace/javaagent
Description: Use Case We should run our tests (especially, tests in the instrumentation module) on multiple JVMs after compiling them with JDK 11. This was first brought up on #334 in this comment. Proposal One possible method of doing this is levera...
Open Graph Description: Use Case We should run our tests (especially, tests in the instrumentation module) on multiple JVMs after compiling them with JDK 11. This was first brought up on #334 in this comment. Proposal One...
X Description: Use Case We should run our tests (especially, tests in the instrumentation module) on multiple JVMs after compiling them with JDK 11. This was first brought up on #334 in this comment. Proposal One...
Opengraph URL: https://github.com/hypertrace/javaagent/issues/335
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Cross JRE testing matrix ","articleBody":"## Use Case\r\nWe should run our tests (especially, tests in the `instrumentation` module) on multiple JVMs after compiling them with JDK 11. This was first brought up on #334 in [this comment](https://github.com/hypertrace/javaagent/pull/334#pullrequestreview-704578338). \r\n\r\n## Proposal\r\nOne possible method of doing this is leveraging [Gradle toolchains](https://docs.gradle.org/current/userguide/toolchains.html). Gradle toolchains support registering `Test` tasks that require certain JDK versions (see [Specify custom toolchains for individual tasks](https://docs.gradle.org/current/userguide/toolchains.html#specify_custom_toolchains_for_individual_tasks)). This has the additional benefit of working on developer's machines as well. Notably, if the toolchain is not detected on the developer's machine, Gradle will automatically download a matching toolchain from AdoptOpenJDK\r\n\r\n## Questions to address (if any)\r\nThere may be other methods of accomplishing this level of cross-jvm testing with Gradle, such as using the [GitHub Actions setup-java matrix](https://github.com/actions/setup-java#testing-against-different-java-versions). But, it's not clear to me how this would be implemented effectively while still compiling with JDK 11 so we can detect niche bytecode compatibility bugs. In addition, depending on the setup, it could be difficult for developers to run these tests locally to debug errors. However, without a specific example test workflow in mind, it is difficult to fairly compare alternate solutions. If folks have code snippets/examples of how this setup could work in practice, please feel free to propose them here","author":{"url":"https://github.com/ryandens","@type":"Person","name":"ryandens"},"datePublished":"2021-07-13T13:18:55.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/335/javaagent/issues/335"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:3c892eb6-8565-15ef-588f-3f848004fd8c |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E13A:3046CB:B473B5:108BD55:6A4E259A |
| html-safe-nonce | 8597f23a622efa8ee5654ac24663d7afc5c15ed236bc62fcfe8748a65575baf4 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMTNBOjMwNDZDQjpCNDczQjU6MTA4QkQ1NTo2QTRFMjU5QSIsInZpc2l0b3JfaWQiOiI2MDg0MTc2NTY3OTMxMzgxMTQ2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 1272cabae3812a32c17a842b983d9797600b89bb4da382802cdb02915de39f29 |
| hovercard-subject-tag | issue:943363743 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/hypertrace/javaagent/335/issue_layout |
| twitter:image | https://opengraph.githubassets.com/05fce2e1284754aa4b0ab5dfc75bb4333df57020c6e8bf34fb070cd59a99052f/hypertrace/javaagent/issues/335 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/05fce2e1284754aa4b0ab5dfc75bb4333df57020c6e8bf34fb070cd59a99052f/hypertrace/javaagent/issues/335 |
| og:image:alt | Use Case We should run our tests (especially, tests in the instrumentation module) on multiple JVMs after compiling them with JDK 11. This was first brought up on #334 in this comment. Proposal One... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ryandens |
| hostname | github.com |
| expected-hostname | github.com |
| None | 030096ee0db095447bfe77409d33bfac127ca7128299c58deef27c52eaa1b1f0 |
| turbo-cache-control | no-preview |
| go-import | github.com/hypertrace/javaagent git https://github.com/hypertrace/javaagent.git |
| octolytics-dimension-user_id | 65374698 |
| octolytics-dimension-user_login | hypertrace |
| octolytics-dimension-repository_id | 302314733 |
| octolytics-dimension-repository_nwo | hypertrace/javaagent |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 302314733 |
| octolytics-dimension-repository_network_root_nwo | hypertrace/javaagent |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d9dd20d38f8ae3c4cb6b597807431db300d0bd2a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width