Title: Test ops.yaml files can be merged incorrectly · Issue #229 · scijava/scijava · GitHub
Open Graph Title: Test ops.yaml files can be merged incorrectly · Issue #229 · scijava/scijava
X Title: Test ops.yaml files can be merged incorrectly · Issue #229 · scijava/scijava
Description: With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto three distinct issues, the first of which is #2...
Open Graph Description: With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto three d...
X Description: With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto thr...
Opengraph URL: https://github.com/scijava/scijava/issues/229
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Test ops.yaml files can be merged incorrectly","articleBody":"With 5da81736cce48d7525e69762d51165c5e74735df, I removed the progress reporting from the `DefaultOpEnvironment`'s op discovery, because it was failing the `OpRegressionTest` on one of my systems. Investigation shone light onto three distinct issues, the first of which is #228, which I believe is a cascading failure triggered by the second and third issues, described here. First, snakeyaml rejects a mangled `scijava-ops-image/target/test-classes/ops.yaml` file:\r\n\r\n``` \r\nCaused by: java.lang.ExceptionInInitializerError: Exception\r\norg.yaml.snakeyaml.scanner.ScannerException: while scanning for the\r\nnext token; found character '@' that cannot start any token.\r\n(Do not use @ for indentation); in 'reader', line 26008, column 2:\r\n {@code \u003cC\u003e}\r\n ^ [in thread \"main\"]\r\n at org.yaml.snakeyaml@2.0/org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:445)\r\n ...\r\n at org.yaml.snakeyaml@2.0/org.yaml.snakeyaml.Yaml.load(Yaml.java:434)\r\n at org.scijava.ops.engine@0-SNAPSHOT/org.scijava.ops.engine.yaml.impl.YAMLOpInfoDiscoverer.parse(YAMLOpInfoDiscoverer.java:104)\r\n at org.scijava.ops.engine@0-SNAPSHOT/org.scijava.ops.engine.yaml.impl.YAMLOpInfoDiscoverer.lambda$discover$0(YAMLOpInfoDiscoverer.java:78)\r\n```\r\n\r\nThe mangling takes the form of a rogue string `{@code \u003cC\u003e}` on its own line with no indentation, which appears to have overwritten some number of other lines of YAML, leading to improper indentation. (I tried diffing against a properly merged `ops.yaml` on an unaffected system, but the scijava-ops-indexer does not sort the op blocks, leading to ordering inconsistency, which makes diffing ineffective.)\r\n\r\nI suspect the mangling is rooted in a third issue: there is a Ruby script present in the Maven build infrastructure that gets executed using `script-maven-plugin`, which might be the culprit. But further investigation is needed: it is suspicious that with the removal of progress reporting from `DefaultOpEnvironment` construction (5da81736cce48d7525e69762d51165c5e74735df, which works around #228), the YAML parsing issue seems to disappear—but it is hard to believe that these two things could actually be related...\r\n","author":{"url":"https://github.com/ctrueden","@type":"Person","name":"ctrueden"},"datePublished":"2024-05-30T16:10:56.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/229/scijava/issues/229"}
| 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:e7347fae-c8b6-898d-8c11-24d79e9c19fd |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | AA74:155208:C2AD6:1032D9:696B5E4F |
| html-safe-nonce | 0f9a3b82287c51e437d1c4fff21e70d488d38383b1817c9072e2a3b1ad88e523 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQTc0OjE1NTIwODpDMkFENjoxMDMyRDk6Njk2QjVFNEYiLCJ2aXNpdG9yX2lkIjoiMTM4MTI3OTg4MjU0MDA2ODYzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | ebf5d3824ba72b3537efc7d3e9d19cafb8e6f52d522a6247300923a14cb0af2a |
| hovercard-subject-tag | issue:2326053533 |
| 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/scijava/scijava/229/issue_layout |
| twitter:image | https://opengraph.githubassets.com/06707df607cb346503d2317df4b76139667bca3cf9cfe297238a73d6014a2a4d/scijava/scijava/issues/229 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/06707df607cb346503d2317df4b76139667bca3cf9cfe297238a73d6014a2a4d/scijava/scijava/issues/229 |
| og:image:alt | With 5da8173, I removed the progress reporting from the DefaultOpEnvironment's op discovery, because it was failing the OpRegressionTest on one of my systems. Investigation shone light onto three d... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ctrueden |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5f99f7c1d70f01da5b93e5ca90303359738944d8ab470e396496262c66e60b8d |
| turbo-cache-control | no-preview |
| go-import | github.com/scijava/scijava git https://github.com/scijava/scijava.git |
| octolytics-dimension-user_id | 1262770 |
| octolytics-dimension-user_login | scijava |
| octolytics-dimension-repository_id | 85618439 |
| octolytics-dimension-repository_nwo | scijava/scijava |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 85618439 |
| octolytics-dimension-repository_network_root_nwo | scijava/scijava |
| 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 | 82560a55c6b2054555076f46e683151ee28a19bc |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width