{"action":"closed","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/11144","repository_url":"https://api.github.com/repos/mapbox/mapbox-gl-native","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/11144/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/11144/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/11144/events","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/11144","id":295314576,"number":11144,"title":"Conditional render tests","user":{"login":"mourner","id":25395,"avatar_url":"https://avatars1.githubusercontent.com/u/25395?v=4","gravatar_id":"","url":"https://api.github.com/users/mourner","html_url":"https://github.com/mourner","followers_url":"https://api.github.com/users/mourner/followers","following_url":"https://api.github.com/users/mourner/following{/other_user}","gists_url":"https://api.github.com/users/mourner/gists{/gist_id}","starred_url":"https://api.github.com/users/mourner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mourner/subscriptions","organizations_url":"https://api.github.com/users/mourner/orgs","repos_url":"https://api.github.com/users/mourner/repos","events_url":"https://api.github.com/users/mourner/events{/privacy}","received_events_url":"https://api.github.com/users/mourner/received_events","type":"User","site_admin":false},"labels":[{"id":211558588,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/tests","name":"tests","color":"0052cc","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-02-07T22:21:10Z","updated_at":"2018-02-14T17:57:38Z","closed_at":"2018-02-14T17:57:38Z","author_association":"MEMBER","body":"A tricky issue has come up while finalizing the heatmap layer (#11046) — to render nicely, it needs some GL extensions that are not present on some devices, in which case it falls back to a lower-quality rendering. Ideally, we would want to cover both the \"ideal\" and the \"fallback\" versions in render tests, something the current test setup doesn't accommodate. You can see an example of the difference in [these test results](https://67603-16286131-gh.circle-artifacts.com/0/render-tests).\r\n\r\nIn GL JS, we only cover the \"fallback\" mode because `headless-gl`, a module used for rendering WebGL on CI servers, doesn't support the necessary extensions. But in gl-native, some builds in the CI matrix can render the \"ideal\" version while others don't.\r\n\r\nOpen questions:\r\n- What's the best way to introduce conditional render tests runs, and how do we configure those conditions?\r\n- Will we manually keep a config of which platform can run in which mode (like we do with ignores), updating when the build matrix changes, or could we implement some kind of automatic way to bail out of a render test without failing?\r\n- How do we force \"ideal\"-capable platforms to run the \"fallback\" version? Checking a special style.metadata property in the render code?\r\n- Are there any other cases beside heatmaps that could utilize the new flexibility?\r\n- Can we introduce this without adding too much complexity in the test harness?\r\n\r\ncc @mapbox/gl-core "}}
{"actor":{"display_login":"mourner"}}