@@ -73,7 +73,9 @@ if(pattern === 'gl2d_*') {
73
73
74
74
if ( isCI ) {
75
75
console . log ( 'Filtering out multiple-subplot gl2d mocks:' ) ;
76
- mockList = mockList . filter ( untestableGL2DonCIfilter ) ;
76
+ mockList = mockList
77
+ . filter ( untestableGL2DonCIfilter )
78
+ . sort ( sortForGL2DonCI ) ;
77
79
console . log ( '\n' ) ;
78
80
}
79
81
}
@@ -121,17 +123,32 @@ function untestableGL2DonCIfilter(mockName) {
121
123
'gl2d_multiple_subplots' ,
122
124
'gl2d_simple_inset' ,
123
125
'gl2d_stacked_coupled_subplots' ,
124
- 'gl2d_stacked_subplots' ,
125
-
126
- // not sure why this one still fails on CircleCI
127
- 'gl2d_pointcloud-basic'
126
+ 'gl2d_stacked_subplots'
128
127
] . indexOf ( mockName ) === - 1 ;
129
128
130
129
if ( ! cond ) console . log ( ' -' , mockName ) ;
131
130
132
131
return cond ;
133
132
}
134
133
134
+ /* gl2d pointcloud mock(s) must be tested first
135
+ * on CircleCI in order to work; sort them here.
136
+ *
137
+ * Pointcloud relies on gl-shader@4.2.1 whereas
138
+ * other gl2d modules rely on gl-shader@4.2.0,
139
+ * we suspect that lone gl context on CircleCI is
140
+ * having issues with dealing with the two different
141
+ * gl-shader versions.
142
+ *
143
+ * More info here:
144
+ * https://github.com/plotly/plotly.js/pull/1037
145
+ */
146
+ function sortForGL2DonCI ( a , b ) {
147
+ var root = 'gl2d_pointcloud' ;
148
+
149
+ return a . indexOf ( root ) < b . indexOf ( root ) ;
150
+ }
151
+
135
152
function runInBatch ( mockList ) {
136
153
var running = 0 ;
137
154
0 commit comments