Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • project/cloud
  • issue/cloud-3181823
  • issue/cloud-3181853
  • issue/cloud-3182150
  • issue/cloud-3182294
  • issue/cloud-3182311
  • issue/cloud-3182346
  • issue/cloud-3180558
  • issue/cloud-3182682
  • issue/cloud-3183409
  • issue/cloud-3183412
  • issue/cloud-3183529
  • issue/cloud-3183619
  • issue/cloud-3183632
  • issue/cloud-3183663
  • issue/cloud-3183934
  • issue/cloud-3184142
  • issue/cloud-3184411
  • issue/cloud-3184659
  • issue/cloud-3184891
  • issue/cloud-3184994
  • issue/cloud-3185464
  • issue/cloud-3185705
  • issue/cloud-3185706
  • issue/cloud-3185708
  • issue/cloud-3185709
  • issue/cloud-3185707
  • issue/cloud-3185710
  • issue/cloud-3185711
  • issue/cloud-3185724
  • issue/cloud-3185731
  • issue/cloud-3185732
  • issue/cloud-3185809
  • issue/cloud-3186025
  • issue/cloud-3185296
  • issue/cloud-3186140
  • issue/cloud-3186241
  • issue/cloud-3186469
  • issue/cloud-3186643
  • issue/cloud-3186692
  • issue/cloud-3186882
  • issue/cloud-3187039
  • issue/cloud-3187149
  • issue/cloud-3187317
  • issue/cloud-3187373
  • issue/cloud-3187387
  • issue/cloud-3187389
  • issue/cloud-3187560
  • issue/cloud-3187586
  • issue/cloud-3187780
  • issue/cloud-3188141
  • issue/cloud-3188198
  • issue/cloud-3188368
  • issue/cloud-3188424
  • issue/cloud-3188595
  • issue/cloud-3188606
  • issue/cloud-3188798
  • issue/cloud-3188820
  • issue/cloud-3188831
  • issue/cloud-3188935
  • issue/cloud-3188976
  • issue/cloud-3188982
  • issue/cloud-3188984
  • issue/cloud-3189446
  • issue/cloud-3189447
  • issue/cloud-3189450
  • issue/cloud-3189456
  • issue/cloud-3189714
  • issue/cloud-3189745
  • issue/cloud-3189755
  • issue/cloud-3189860
  • issue/cloud-3189861
  • issue/cloud-3189868
  • issue/cloud-3189910
  • issue/cloud-3189914
  • issue/cloud-3190078
  • issue/cloud-3189974
  • issue/cloud-3190170
  • issue/cloud-3190182
  • issue/cloud-3190185
  • issue/cloud-3190263
  • issue/cloud-3189975
  • issue/cloud-3189976
  • issue/cloud-3190294
  • issue/cloud-3190348
  • issue/cloud-3190627
  • issue/cloud-3190719
  • issue/cloud-3190809
  • issue/cloud-3191234
  • issue/cloud-3191299
  • issue/cloud-3191582
  • issue/cloud-3191586
  • issue/cloud-3191587
  • issue/cloud-3191639
  • issue/cloud-3191783
  • issue/cloud-3191610
  • issue/cloud-3191523
  • issue/cloud-3192298
  • issue/cloud-3192481
  • issue/cloud-3192847
  • issue/cloud-3192902
  • issue/cloud-3192918
  • issue/cloud-3192940
  • issue/cloud-3192989
  • issue/cloud-3193019
  • issue/cloud-3193083
  • issue/cloud-3193112
  • issue/cloud-3193114
  • issue/cloud-3193424
  • issue/cloud-3193606
  • issue/cloud-3193688
  • issue/cloud-3193748
  • issue/cloud-3193938
  • issue/cloud-3194343
  • issue/cloud-3194623
  • issue/cloud-3194659
  • issue/cloud-3194663
  • issue/cloud-3194823
  • issue/cloud-3194877
  • issue/cloud-3194873
  • issue/cloud-3195307
  • issue/cloud-3195312
  • issue/cloud-3195660
  • issue/cloud-3195671
  • issue/cloud-3195991
  • issue/cloud-3195995
  • issue/cloud-3196419
  • issue/cloud-3191585
  • issue/cloud-3191583
  • issue/cloud-3191581
  • issue/cloud-3197421
  • issue/cloud-3197432
  • issue/cloud-3197433
  • issue/cloud-3191584
  • issue/cloud-3197652
  • issue/cloud-3197868
  • issue/cloud-3197880
  • issue/cloud-3198098
  • issue/cloud-3197653
  • issue/cloud-3198478
  • issue/cloud-3198860
  • issue/cloud-3199050
  • issue/cloud-3199213
  • issue/cloud-3279150
  • issue/cloud-3199243
  • issue/cloud-3199809
  • issue/cloud-3199991
  • issue/cloud-3200044
  • issue/cloud-3200047
  • issue/cloud-3200100
  • issue/cloud-3200118
  • issue/cloud-3200270
  • issue/cloud-3200520
  • issue/cloud-3200740
  • issue/cloud-3200885
  • issue/cloud-3201060
  • issue/cloud-3201071
  • issue/cloud-3201138
  • issue/cloud-3201301
  • issue/cloud-3201330
  • issue/cloud-3201341
  • issue/cloud-3201374
  • issue/cloud-3201967
  • issue/cloud-3202402
  • issue/cloud-3202652
  • issue/cloud-3202669
  • issue/cloud-3202931
  • issue/cloud-3202937
  • issue/cloud-3203121
  • issue/cloud-3203156
  • issue/cloud-3203992
  • issue/cloud-3204653
  • issue/cloud-3204816
  • issue/cloud-3205276
  • issue/cloud-3205683
  • issue/cloud-3205730
  • issue/cloud-3205778
  • issue/cloud-3205789
  • issue/cloud-3205983
  • issue/cloud-3206157
  • issue/cloud-3206273
  • issue/cloud-3279428
  • issue/cloud-3206525
  • issue/cloud-3206532
  • issue/cloud-3279435
  • issue/cloud-3206834
  • issue/cloud-3206856
  • issue/cloud-3207107
  • issue/cloud-3207198
  • issue/cloud-3207333
  • issue/cloud-3207573
  • issue/cloud-3207595
  • issue/cloud-3207758
  • issue/cloud-3207945
  • issue/cloud-3208304
  • issue/cloud-3208670
  • issue/cloud-3208850
  • issue/cloud-3209211
  • issue/cloud-3209446
  • issue/cloud-3209693
  • issue/cloud-3210496
  • issue/cloud-3210638
  • issue/cloud-3210647
  • issue/cloud-3211273
  • issue/cloud-3211567
  • issue/cloud-3212126
  • issue/cloud-3212322
  • issue/cloud-3191576
  • issue/cloud-3212496
  • issue/cloud-3212680
  • issue/cloud-3213095
  • issue/cloud-3213541
  • issue/cloud-3213754
  • issue/cloud-3213753
  • issue/cloud-3213777
  • issue/cloud-3213785
  • issue/cloud-3214270
  • issue/cloud-3210650
  • issue/cloud-3215720
  • issue/cloud-3215747
  • issue/cloud-3215934
  • issue/cloud-3191580
  • issue/cloud-3216872
  • issue/cloud-3217114
  • issue/cloud-3217769
  • issue/cloud-3217980
  • issue/cloud-3217993
  • issue/cloud-3218525
  • issue/cloud-3218529
  • issue/cloud-3218640
  • issue/cloud-3218767
  • issue/cloud-3218796
  • issue/cloud-3186209
  • issue/cloud-3218829
  • issue/cloud-3219063
  • issue/cloud-3219172
  • issue/cloud-3219206
  • issue/cloud-3219225
  • issue/cloud-3195065
  • issue/cloud-3219464
  • issue/cloud-3219501
  • issue/cloud-3219506
  • issue/cloud-3219535
  • issue/cloud-3219600
  • issue/cloud-3219979
  • issue/cloud-3219992
  • issue/cloud-3220242
  • issue/cloud-3220246
  • issue/cloud-3220250
  • issue/cloud-3220258
  • issue/cloud-3220456
  • issue/cloud-3220465
  • issue/cloud-3220511
  • issue/cloud-3220519
  • issue/cloud-3220666
  • issue/cloud-3220987
  • issue/cloud-3221005
  • issue/cloud-3221182
  • issue/cloud-3221053
  • issue/cloud-3221336
  • issue/cloud-3221392
  • issue/cloud-3221401
  • issue/cloud-3221405
  • issue/cloud-3221415
  • issue/cloud-3221623
  • issue/cloud-3222089
  • issue/cloud-3222117
  • issue/cloud-3222352
  • issue/cloud-3222502
  • issue/cloud-3222534
  • issue/cloud-3222665
  • issue/cloud-3222703
  • issue/cloud-3222893
  • issue/cloud-3222920
  • issue/cloud-3223092
  • issue/cloud-3223339
  • issue/cloud-3223508
  • issue/cloud-3223525
  • issue/cloud-3223696
  • issue/cloud-3223740
  • issue/cloud-3223850
  • issue/cloud-3223924
  • issue/cloud-3224075
  • issue/cloud-3224080
  • issue/cloud-3224081
  • issue/cloud-3224172
  • issue/cloud-3224418
  • issue/cloud-3224987
  • issue/cloud-3225006
  • issue/cloud-3225023
  • issue/cloud-3225298
  • issue/cloud-3225312
  • issue/cloud-3225597
  • issue/cloud-3225614
  • issue/cloud-3225644
  • issue/cloud-3226097
  • issue/cloud-3226130
  • issue/cloud-3226574
  • issue/cloud-3226727
  • issue/cloud-3226828
  • issue/cloud-3226854
  • issue/cloud-3226882
  • issue/cloud-3225815
  • issue/cloud-3227078
  • issue/cloud-3227081
  • issue/cloud-3227251
  • issue/cloud-3227307
  • issue/cloud-3227311
  • issue/cloud-3227408
  • issue/cloud-3227485
  • issue/cloud-3227828
  • issue/cloud-3227846
  • issue/cloud-3227852
  • issue/cloud-3228270
  • issue/cloud-3228276
  • issue/cloud-3228400
  • issue/cloud-3228579
  • issue/cloud-3228624
  • issue/cloud-3228663
  • issue/cloud-3228688
  • issue/cloud-3225218
  • issue/cloud-3229021
  • issue/cloud-3228432
  • issue/cloud-3229041
  • issue/cloud-3229047
  • issue/cloud-3229497
  • issue/cloud-3229710
  • issue/cloud-3229718
  • issue/cloud-3229938
  • issue/cloud-3230015
  • issue/cloud-3230748
  • issue/cloud-3230776
  • issue/cloud-3230796
  • issue/cloud-3230931
  • issue/cloud-3230948
  • issue/cloud-3230958
  • issue/cloud-3225219
  • issue/cloud-3231401
  • issue/cloud-3231490
  • issue/cloud-3231513
  • issue/cloud-3231856
  • issue/cloud-3231860
  • issue/cloud-3231862
  • issue/cloud-3231867
  • issue/cloud-3231898
  • issue/cloud-3225220
  • issue/cloud-3232055
  • issue/cloud-3232196
  • issue/cloud-3225272
  • issue/cloud-3225292
  • issue/cloud-3225417
  • issue/cloud-3225420
  • issue/cloud-3232747
  • issue/cloud-3232760
  • issue/cloud-3232794
  • issue/cloud-3232806
  • issue/cloud-3232932
  • issue/cloud-3232934
  • issue/cloud-3232936
  • issue/cloud-3232983
  • issue/cloud-3232992
  • issue/cloud-3233416
  • issue/cloud-3233607
  • issue/cloud-3236202
  • issue/cloud-3236419
  • issue/cloud-3236437
  • issue/cloud-3238196
  • issue/cloud-3238383
  • issue/cloud-3238409
  • issue/cloud-3238663
  • issue/cloud-3238813
  • issue/cloud-3238827
  • issue/cloud-3238842
  • issue/cloud-3238910
  • issue/cloud-3238990
  • issue/cloud-3239091
  • issue/cloud-3239248
  • issue/cloud-3239560
  • issue/cloud-3239696
  • issue/cloud-3279431
  • issue/cloud-3279805
  • issue/cloud-3279924
  • issue/cloud-3279985
  • issue/cloud-3280030
  • issue/cloud-3280044
  • issue/cloud-3278818
  • issue/cloud-3280788
  • issue/cloud-3281010
  • issue/cloud-3281025
  • issue/cloud-3281266
  • issue/cloud-3281510
  • issue/cloud-3281678
  • issue/cloud-3281723
  • issue/cloud-3282020
  • issue/cloud-3282196
  • issue/cloud-3282213
  • issue/cloud-3282373
  • issue/cloud-3282584
  • issue/cloud-3283475
  • issue/cloud-3279437
  • issue/cloud-3279601
  • issue/cloud-3279810
  • issue/cloud-3279989
  • issue/cloud-3280232
  • issue/cloud-3280281
  • issue/cloud-3280792
  • issue/cloud-3282379
  • issue/cloud-3282574
  • issue/cloud-3283282
  • issue/cloud-3283536
  • issue/cloud-3283729
  • issue/cloud-3283918
  • issue/cloud-3278819
  • issue/cloud-3279450
  • issue/cloud-3279647
  • issue/cloud-3279833
  • issue/cloud-3280042
  • issue/cloud-3280264
  • issue/cloud-3280280
  • issue/cloud-3280793
  • issue/cloud-3280993
  • issue/cloud-3281231
  • issue/cloud-3281272
  • issue/cloud-3282029
  • issue/cloud-3282167
  • issue/cloud-3282576
  • issue/cloud-3281259
  • issue/cloud-3283263
  • issue/cloud-3283539
  • issue/cloud-3283702
  • issue/cloud-3283743
  • issue/cloud-3283947
  • issue/cloud-3279562
  • issue/cloud-3279817
  • issue/cloud-3279835
  • issue/cloud-3280064
  • issue/cloud-3280639
  • issue/cloud-3280995
  • issue/cloud-3282386
  • issue/cloud-3282577
  • issue/cloud-3283290
  • issue/cloud-3283508
  • issue/cloud-3283736
  • issue/cloud-3278822
  • issue/cloud-3279617
  • issue/cloud-3279875
  • issue/cloud-3280272
  • issue/cloud-3281022
  • issue/cloud-3281027
  • issue/cloud-3281288
  • issue/cloud-3282018
  • issue/cloud-3282038
  • issue/cloud-3282193
  • issue/cloud-3282371
  • issue/cloud-3283512
  • issue/cloud-3279547
  • issue/cloud-3280273
  • issue/cloud-3281204
  • issue/cloud-3281287
  • issue/cloud-3281533
  • issue/cloud-3281673
  • issue/cloud-3281687
  • issue/cloud-3282372
  • issue/cloud-3283497
  • issue/cloud-3283635
  • issue/cloud-3283856
  • issue/cloud-3239811
  • issue/cloud-3239900
  • issue/cloud-3239946
  • issue/cloud-3240101
  • issue/cloud-3240218
  • issue/cloud-3240371
  • issue/cloud-3240440
  • issue/cloud-3240519
  • issue/cloud-3240524
  • issue/cloud-3240525
  • issue/cloud-3240421
  • issue/cloud-3240531
  • issue/cloud-3240540
  • issue/cloud-3240619
  • issue/cloud-3240658
  • issue/cloud-3240707
  • issue/cloud-3240722
  • issue/cloud-3240733
  • issue/cloud-3240740
  • issue/cloud-3240961
  • issue/cloud-3240976
  • issue/cloud-3240437
  • issue/cloud-3241241
  • issue/cloud-3241456
  • issue/cloud-3242641
  • issue/cloud-3241224
  • issue/cloud-3243034
  • issue/cloud-3243160
  • issue/cloud-3241453
  • issue/cloud-3240423
  • issue/cloud-3243282
  • issue/cloud-3243685
  • issue/cloud-3243843
  • issue/cloud-3243941
  • issue/cloud-3243975
  • issue/cloud-3244088
  • issue/cloud-3244327
  • issue/cloud-3244469
  • issue/cloud-3244513
  • issue/cloud-3244320
  • issue/cloud-3244753
  • issue/cloud-3244775
  • issue/cloud-3244801
  • issue/cloud-3244808
  • issue/cloud-3244814
  • issue/cloud-3245014
  • issue/cloud-3245015
  • issue/cloud-3245071
  • issue/cloud-3245251
  • issue/cloud-3245494
  • issue/cloud-3245650
  • issue/cloud-3245686
  • issue/cloud-3245859
  • issue/cloud-3245877
  • issue/cloud-3245881
  • issue/cloud-3246008
  • issue/cloud-3246044
  • issue/cloud-3246123
  • issue/cloud-3246271
  • issue/cloud-3246286
  • issue/cloud-3246330
  • issue/cloud-3246346
  • issue/cloud-3246352
  • issue/cloud-3246522
  • issue/cloud-3246489
  • issue/cloud-3246549
  • issue/cloud-3225216
  • issue/cloud-3246856
  • issue/cloud-3247063
  • issue/cloud-3247118
  • issue/cloud-3247207
  • issue/cloud-3247232
  • issue/cloud-3247707
  • issue/cloud-3279586
  • issue/cloud-3247826
  • issue/cloud-3247956
  • issue/cloud-3248118
  • issue/cloud-3248362
  • issue/cloud-3248389
  • issue/cloud-3248461
  • issue/cloud-3248545
  • issue/cloud-3248614
  • issue/cloud-3248632
  • issue/cloud-3248826
  • issue/cloud-3248996
  • issue/cloud-3249060
  • issue/cloud-3249313
  • issue/cloud-3249328
  • issue/cloud-3249409
  • issue/cloud-3249488
  • issue/cloud-3249604
  • issue/cloud-3249829
  • issue/cloud-3278867
  • issue/cloud-3250390
  • issue/cloud-3250573
  • issue/cloud-3250579
  • issue/cloud-3250584
  • issue/cloud-3250959
  • issue/cloud-3251179
  • issue/cloud-3251529
  • issue/cloud-3251604
  • issue/cloud-3251738
  • issue/cloud-3251782
  • issue/cloud-3251787
  • issue/cloud-3251803
  • issue/cloud-3252005
  • issue/cloud-3252127
  • issue/cloud-3252183
  • issue/cloud-3252334
  • issue/cloud-3252381
  • issue/cloud-3252556
  • issue/cloud-3252652
  • issue/cloud-3252711
  • issue/cloud-3252913
  • issue/cloud-3252922
  • issue/cloud-3252947
  • issue/cloud-3253122
  • issue/cloud-3253229
  • issue/cloud-3253431
  • issue/cloud-3253446
  • issue/cloud-3253737
  • issue/cloud-3254065
  • issue/cloud-3254096
  • issue/cloud-3254264
  • issue/cloud-3254275
  • issue/cloud-3253930
  • issue/cloud-3254463
  • issue/cloud-3254470
  • issue/cloud-3254475
  • issue/cloud-3254672
  • issue/cloud-3254719
  • issue/cloud-3254865
  • issue/cloud-3254876
  • issue/cloud-3255212
  • issue/cloud-3255214
  • issue/cloud-3255361
  • issue/cloud-3255413
  • issue/cloud-3255553
  • issue/cloud-3255554
  • issue/cloud-3255583
  • issue/cloud-3255588
  • issue/cloud-3255858
  • issue/cloud-3255910
  • issue/cloud-3255987
  • issue/cloud-3256026
  • issue/cloud-3256994
  • issue/cloud-3257126
  • issue/cloud-3257355
  • issue/cloud-3257368
  • issue/cloud-3257912
  • issue/cloud-3258040
  • issue/cloud-3258115
  • issue/cloud-3258116
  • issue/cloud-3258154
  • issue/cloud-3258302
  • issue/cloud-3258311
  • issue/cloud-3258508
  • issue/cloud-3258845
  • issue/cloud-3258891
  • issue/cloud-3259045
  • issue/cloud-3259282
  • issue/cloud-3259494
  • issue/cloud-3259688
  • issue/cloud-3260053
  • issue/cloud-3260069
  • issue/cloud-3260255
  • issue/cloud-3260256
  • issue/cloud-3260285
  • issue/cloud-3260518
  • issue/cloud-3260523
  • issue/cloud-3260524
  • issue/cloud-3260747
  • issue/cloud-3260978
  • issue/cloud-3261006
  • issue/cloud-3261010
  • issue/cloud-3261175
  • issue/cloud-3261470
  • issue/cloud-3261648
  • issue/cloud-3261694
  • issue/cloud-3262075
  • issue/cloud-3262130
  • issue/cloud-3262131
  • issue/cloud-3262412
  • issue/cloud-3262416
  • issue/cloud-3262571
  • issue/cloud-3262574
  • issue/cloud-3262625
  • issue/cloud-3262802
  • issue/cloud-3262806
  • issue/cloud-3262829
  • issue/cloud-3263015
  • issue/cloud-3263099
  • issue/cloud-3263209
  • issue/cloud-3263292
  • issue/cloud-3263309
  • issue/cloud-3263327
  • issue/cloud-3263486
  • issue/cloud-3263543
  • issue/cloud-3263633
  • issue/cloud-3263739
  • issue/cloud-3263737
  • issue/cloud-3263954
  • issue/cloud-3264010
  • issue/cloud-3264095
  • issue/cloud-3264189
  • issue/cloud-3264224
  • issue/cloud-3264410
  • issue/cloud-3264457
  • issue/cloud-3264602
  • issue/cloud-3264618
  • issue/cloud-3264872
  • issue/cloud-3264898
  • issue/cloud-3265132
  • issue/cloud-3265149
  • issue/cloud-3265154
  • issue/cloud-3265544
  • issue/cloud-3265548
  • issue/cloud-3265561
  • issue/cloud-3265571
  • issue/cloud-3265587
  • issue/cloud-3265796
  • issue/cloud-3265817
  • issue/cloud-3265970
  • issue/cloud-3266025
  • issue/cloud-3266033
  • issue/cloud-3266054
  • issue/cloud-3266178
  • issue/cloud-3266233
  • issue/cloud-3266234
  • issue/cloud-3266237
  • issue/cloud-3266374
  • issue/cloud-3266446
  • issue/cloud-3266542
  • issue/cloud-3266679
  • issue/cloud-3266832
  • issue/cloud-3266848
  • issue/cloud-3266876
  • issue/cloud-3266865
  • issue/cloud-3267036
  • issue/cloud-3267275
  • issue/cloud-3267487
  • issue/cloud-3267642
  • issue/cloud-3267692
  • issue/cloud-3267695
  • issue/cloud-3267702
  • issue/cloud-3267693
  • issue/cloud-3267722
  • issue/cloud-3267726
  • issue/cloud-3267750
  • issue/cloud-3267873
  • issue/cloud-3267881
  • issue/cloud-3267883
  • issue/cloud-3267885
  • issue/cloud-3267888
  • issue/cloud-3267906
  • issue/cloud-3267960
  • issue/cloud-3268416
  • issue/cloud-3268507
  • issue/cloud-3268546
  • issue/cloud-3268479
  • issue/cloud-3268797
  • issue/cloud-3268806
  • issue/cloud-3268811
  • issue/cloud-3268968
  • issue/cloud-3268973
  • issue/cloud-3268673
  • issue/cloud-3269021
  • issue/cloud-3269054
  • issue/cloud-3269057
  • issue/cloud-3269155
  • issue/cloud-3269344
  • issue/cloud-3269366
  • issue/cloud-3269368
  • issue/cloud-3269370
  • issue/cloud-3269374
  • issue/cloud-3269377
  • issue/cloud-3269500
  • issue/cloud-3269602
  • issue/cloud-3269708
  • issue/cloud-3269781
  • issue/cloud-3269788
  • issue/cloud-3269811
  • issue/cloud-3269815
  • issue/cloud-3269993
  • issue/cloud-3270023
  • issue/cloud-3270036
  • issue/cloud-3270066
  • issue/cloud-3270163
  • issue/cloud-3270207
  • issue/cloud-3270265
  • issue/cloud-3270268
  • issue/cloud-3270280
  • issue/cloud-3270282
  • issue/cloud-3270269
  • issue/cloud-3270658
  • issue/cloud-3269930
  • issue/cloud-3271058
  • issue/cloud-3271141
  • issue/cloud-3271151
  • issue/cloud-3271155
  • issue/cloud-3271157
  • issue/cloud-3271348
  • issue/cloud-3271363
  • issue/cloud-3271364
  • issue/cloud-3271376
  • issue/cloud-3271378
  • issue/cloud-3271560
  • issue/cloud-3271565
  • issue/cloud-3271599
  • issue/cloud-3271600
  • issue/cloud-3271750
  • issue/cloud-3271949
  • issue/cloud-3271743
  • issue/cloud-3272138
  • issue/cloud-3272183
  • issue/cloud-3272190
  • issue/cloud-3272375
  • issue/cloud-3272416
  • issue/cloud-3272419
  • issue/cloud-3272544
  • issue/cloud-3272557
  • issue/cloud-3272624
  • issue/cloud-3272661
  • issue/cloud-3272897
  • issue/cloud-3273053
  • issue/cloud-3273058
  • issue/cloud-3273073
  • issue/cloud-3273084
  • issue/cloud-3271742
  • issue/cloud-3273413
  • issue/cloud-3273418
  • issue/cloud-3273615
  • issue/cloud-3273629
  • issue/cloud-3273643
  • issue/cloud-3273644
  • issue/cloud-3273748
  • issue/cloud-3273905
  • issue/cloud-3273889
  • issue/cloud-3273962
  • issue/cloud-3274078
  • issue/cloud-3274109
  • issue/cloud-3274116
  • issue/cloud-3274157
  • issue/cloud-3274196
  • issue/cloud-3274216
  • issue/cloud-3274374
  • issue/cloud-3274382
  • issue/cloud-3274386
  • issue/cloud-3274512
  • issue/cloud-3274523
  • issue/cloud-3274702
  • issue/cloud-3274946
  • issue/cloud-3274955
  • issue/cloud-3274982
  • issue/cloud-3275209
  • issue/cloud-3275355
  • issue/cloud-3275379
  • issue/cloud-3275389
  • issue/cloud-3275170
  • issue/cloud-3275690
  • issue/cloud-3275736
  • issue/cloud-3275840
  • issue/cloud-3275841
  • issue/cloud-3275892
  • issue/cloud-3275988
  • issue/cloud-3275521
  • issue/cloud-3276136
  • issue/cloud-3276138
  • issue/cloud-3276175
  • issue/cloud-3276185
  • issue/cloud-3276321
  • issue/cloud-3276323
  • issue/cloud-3276353
  • issue/cloud-3276369
  • issue/cloud-3276410
  • issue/cloud-3276570
  • issue/cloud-3276704
  • issue/cloud-3276714
  • issue/cloud-3276788
  • issue/cloud-3276897
  • issue/cloud-3276908
  • issue/cloud-3277300
  • issue/cloud-3277750
  • issue/cloud-3277765
  • issue/cloud-3277797
  • issue/cloud-3278037
  • issue/cloud-3278112
  • issue/cloud-3278113
  • issue/cloud-3278248
  • issue/cloud-3278308
  • issue/cloud-3278479
  • issue/cloud-3278023
  • issue/cloud-3280027
  • issue/cloud-3280787
  • issue/cloud-3281004
  • issue/cloud-3281282
  • issue/cloud-3281298
  • issue/cloud-3283959
  • issue/cloud-3284108
  • issue/cloud-3284224
  • issue/cloud-3284251
  • issue/cloud-3284360
  • issue/cloud-3284361
  • issue/cloud-3284363
  • issue/cloud-3284365
  • issue/cloud-3284370
  • issue/cloud-3284388
  • issue/cloud-3284466
  • issue/cloud-3284576
  • issue/cloud-3284565
  • issue/cloud-3284578
  • issue/cloud-3284587
  • issue/cloud-3284602
  • issue/cloud-3284606
  • issue/cloud-3284714
  • issue/cloud-3284774
  • issue/cloud-3284776
  • issue/cloud-3284782
  • issue/cloud-3285053
  • issue/cloud-3284947
  • issue/cloud-3285332
  • issue/cloud-3285338
  • issue/cloud-3285367
  • issue/cloud-3285519
  • issue/cloud-3285526
  • issue/cloud-3285536
  • issue/cloud-3285538
  • issue/cloud-3285539
  • issue/cloud-3285555
  • issue/cloud-3285693
  • issue/cloud-3285702
  • issue/cloud-3285478
  • issue/cloud-3285743
  • issue/cloud-3285749
  • issue/cloud-3285764
  • issue/cloud-3285770
  • issue/cloud-3285849
  • issue/cloud-3288063
  • issue/cloud-3285730
  • issue/cloud-3290773
  • issue/cloud-3290788
  • issue/cloud-3290795
  • issue/cloud-3290820
  • issue/cloud-3290984
  • issue/cloud-3290987
  • issue/cloud-3291000
  • issue/cloud-3291013
  • issue/cloud-3291081
  • issue/cloud-3291001
  • issue/cloud-3291234
  • issue/cloud-3291241
  • issue/cloud-3291253
  • issue/cloud-3291386
  • issue/cloud-3291389
  • issue/cloud-3291392
  • issue/cloud-3291395
  • issue/cloud-3291396
  • issue/cloud-3291595
  • issue/cloud-3291597
  • issue/cloud-3291605
  • issue/cloud-3291627
  • issue/cloud-3291661
  • issue/cloud-3291742
  • issue/cloud-3291766
  • issue/cloud-3291850
  • issue/cloud-3291858
  • issue/cloud-3291878
  • issue/cloud-3399374
  • issue/cloud-3292036
  • issue/cloud-3292089
  • issue/cloud-3292090
  • issue/cloud-3292096
  • issue/cloud-3292100
  • issue/cloud-3292101
  • issue/cloud-3292105
  • issue/cloud-3292111
  • issue/cloud-3292141
  • issue/cloud-3292142
  • issue/cloud-3292363
  • issue/cloud-3292372
  • issue/cloud-3292417
  • issue/cloud-3292330
  • issue/cloud-3292575
  • issue/cloud-3292582
  • issue/cloud-3292679
  • issue/cloud-3292685
  • issue/cloud-3292544
  • issue/cloud-3292767
  • issue/cloud-3292771
  • issue/cloud-3292791
  • issue/cloud-3292794
  • issue/cloud-3292812
  • issue/cloud-3292977
  • issue/cloud-3292981
  • issue/cloud-3292989
  • issue/cloud-3293000
  • issue/cloud-3293208
  • issue/cloud-3293211
  • issue/cloud-3293219
  • issue/cloud-3293224
  • issue/cloud-3293234
  • issue/cloud-3293244
  • issue/cloud-3293419
  • issue/cloud-3293207
  • issue/cloud-3293499
  • issue/cloud-3293505
  • issue/cloud-3293701
  • issue/cloud-3293736
  • issue/cloud-3293846
  • issue/cloud-3293949
  • issue/cloud-3294027
  • issue/cloud-3294030
  • issue/cloud-3294185
  • issue/cloud-3294189
  • issue/cloud-3294201
  • issue/cloud-3294227
  • issue/cloud-3294424
  • issue/cloud-3294427
  • issue/cloud-3294451
  • issue/cloud-3294631
  • issue/cloud-3294644
  • issue/cloud-3294865
  • issue/cloud-3294886
  • issue/cloud-3295011
  • issue/cloud-3295067
  • issue/cloud-3295095
  • issue/cloud-3295125
  • issue/cloud-3295194
  • issue/cloud-3295196
  • issue/cloud-3295237
  • issue/cloud-3295251
  • issue/cloud-3295254
  • issue/cloud-3295418
  • issue/cloud-3295646
  • issue/cloud-3295669
  • issue/cloud-3295673
  • issue/cloud-3295695
  • issue/cloud-3295873
  • issue/cloud-3296392
  • issue/cloud-3298293
  • issue/cloud-3296083
  • issue/cloud-3303765
  • issue/cloud-3303941
  • issue/cloud-3304247
  • issue/cloud-3304374
  • issue/cloud-3304580
  • issue/cloud-3305386
  • issue/cloud-3305476
  • issue/cloud-3305606
  • issue/cloud-3298542
  • issue/cloud-3298732
  • issue/cloud-3299211
  • issue/cloud-3299866
  • issue/cloud-3298957
  • issue/cloud-3300356
  • issue/cloud-3300110
  • issue/cloud-3300392
  • issue/cloud-3303800
  • issue/cloud-3303812
  • issue/cloud-3304166
  • issue/cloud-3304547
  • issue/cloud-3304644
  • issue/cloud-3300947
  • issue/cloud-3301042
  • issue/cloud-3301207
  • issue/cloud-3301951
  • issue/cloud-3301955
  • issue/cloud-3302049
  • issue/cloud-3302260
  • issue/cloud-3302747
  • issue/cloud-3302977
  • issue/cloud-3303222
  • issue/cloud-3303229
  • issue/cloud-3303236
  • issue/cloud-3303390
  • issue/cloud-3303428
  • issue/cloud-3303635
  • issue/cloud-3304212
  • issue/cloud-3304632
  • issue/cloud-3301956
  • issue/cloud-3304894
  • issue/cloud-3305398
  • issue/cloud-3306033
  • issue/cloud-3305650
  • issue/cloud-3306114
  • issue/cloud-3306116
  • issue/cloud-3310203
  • issue/cloud-3310210
  • issue/cloud-3310262
  • issue/cloud-3310457
  • issue/cloud-3310560
  • issue/cloud-3310642
  • issue/cloud-3310995
  • issue/cloud-3311042
  • issue/cloud-3309974
  • issue/cloud-3306321
  • issue/cloud-3306357
  • issue/cloud-3306359
  • issue/cloud-3306380
  • issue/cloud-3306643
  • issue/cloud-3306689
  • issue/cloud-3306521
  • issue/cloud-3306702
  • issue/cloud-3306754
  • issue/cloud-3306966
  • issue/cloud-3306981
  • issue/cloud-3306987
  • issue/cloud-3306988
  • issue/cloud-3307021
  • issue/cloud-3306990
  • issue/cloud-3307162
  • issue/cloud-3306991
  • issue/cloud-3307215
  • issue/cloud-3307239
  • issue/cloud-3307396
  • issue/cloud-3307397
  • issue/cloud-3307437
  • issue/cloud-3306992
  • issue/cloud-3307456
  • issue/cloud-3307462
  • issue/cloud-3307499
  • issue/cloud-3307668
  • issue/cloud-3307678
  • issue/cloud-3307733
  • issue/cloud-3307925
  • issue/cloud-3307933
  • issue/cloud-3308070
  • issue/cloud-3308279
  • issue/cloud-3308275
  • issue/cloud-3308490
  • issue/cloud-3308495
  • issue/cloud-3308496
  • issue/cloud-3308655
  • issue/cloud-3308676
  • issue/cloud-3308695
  • issue/cloud-3308708
  • issue/cloud-3308717
  • issue/cloud-3308270
  • issue/cloud-3308812
  • issue/cloud-3308934
  • issue/cloud-3308967
  • issue/cloud-3308974
  • issue/cloud-3308999
  • issue/cloud-3309150
  • issue/cloud-3309165
  • issue/cloud-3309286
  • issue/cloud-3309124
  • issue/cloud-3309333
  • issue/cloud-3309357
  • issue/cloud-3309517
  • issue/cloud-3309540
  • issue/cloud-3309587
  • issue/cloud-3309705
  • issue/cloud-3309758
  • issue/cloud-3309787
  • issue/cloud-3309788
  • issue/cloud-3309878
  • issue/cloud-3309971
  • issue/cloud-3309981
  • issue/cloud-3310024
  • issue/cloud-3310263
  • issue/cloud-3310707
  • issue/cloud-3310768
  • issue/cloud-3309596
  • issue/cloud-3311026
  • issue/cloud-3311463
  • issue/cloud-3311664
  • issue/cloud-3311665
  • issue/cloud-3311766
  • issue/cloud-3311779
  • issue/cloud-3311935
  • issue/cloud-3311268
  • issue/cloud-3312203
  • issue/cloud-3312218
  • issue/cloud-3312215
  • issue/cloud-3312472
  • issue/cloud-3311750
  • issue/cloud-3312576
  • issue/cloud-3312622
  • issue/cloud-3312708
  • issue/cloud-3312766
  • issue/cloud-3312549
  • issue/cloud-3312780
  • issue/cloud-3311749
  • issue/cloud-3312838
  • issue/cloud-3312996
  • issue/cloud-3313318
  • issue/cloud-3313353
  • issue/cloud-3317433
  • issue/cloud-3317489
  • issue/cloud-3317731
  • issue/cloud-3317919
  • issue/cloud-3318174
  • issue/cloud-3318236
  • issue/cloud-3317924
  • issue/cloud-3313550
  • issue/cloud-3313552
  • issue/cloud-3313770
  • issue/cloud-3313779
  • issue/cloud-3313812
  • issue/cloud-3313999
  • issue/cloud-3314252
  • issue/cloud-3314398
  • issue/cloud-3317496
  • issue/cloud-3317494
  • issue/cloud-3314603
  • issue/cloud-3314652
  • issue/cloud-3314804
  • issue/cloud-3314812
  • issue/cloud-3314400
  • issue/cloud-3314844
  • issue/cloud-3315043
  • issue/cloud-3315268
  • issue/cloud-3315586
  • issue/cloud-3315797
  • issue/cloud-3315878
  • issue/cloud-3316407
  • issue/cloud-3316471
  • issue/cloud-3316494
  • issue/cloud-3316681
  • issue/cloud-3317116
  • issue/cloud-3317301
  • issue/cloud-3318439
  • issue/cloud-3318463
  • issue/cloud-3318898
  • issue/cloud-3318641
  • issue/cloud-3325922
  • issue/cloud-3319229
  • issue/cloud-3319231
  • issue/cloud-3327455
  • issue/cloud-3327525
  • issue/cloud-3325925
  • issue/cloud-3326094
  • issue/cloud-3319611
  • issue/cloud-3326730
  • issue/cloud-3327023
  • issue/cloud-3327303
  • issue/cloud-3327527
  • issue/cloud-3327959
  • issue/cloud-3320297
  • issue/cloud-3326151
  • issue/cloud-3320385
  • issue/cloud-3320601
  • issue/cloud-3320310
  • issue/cloud-3320609
  • issue/cloud-3320654
  • issue/cloud-3320663
  • issue/cloud-3326999
  • issue/cloud-3327965
  • issue/cloud-3328378
  • issue/cloud-3329613
  • issue/cloud-3329614
  • issue/cloud-3329626
  • issue/cloud-3325459
  • issue/cloud-3325485
  • issue/cloud-3326711
  • issue/cloud-3326759
  • issue/cloud-3327068
  • issue/cloud-3327318
  • issue/cloud-3327495
  • issue/cloud-3327545
  • issue/cloud-3327733
  • issue/cloud-3328717
  • issue/cloud-3320860
  • issue/cloud-3320868
  • issue/cloud-3320301
  • issue/cloud-3320915
  • issue/cloud-3320944
  • issue/cloud-3320945
  • issue/cloud-3321029
  • issue/cloud-3321067
  • issue/cloud-3325489
  • issue/cloud-3326481
  • issue/cloud-3326682
  • issue/cloud-3326722
  • issue/cloud-3327003
  • issue/cloud-3327036
  • issue/cloud-3328728
  • issue/cloud-3328928
  • issue/cloud-3329000
  • issue/cloud-3321709
  • issue/cloud-3321712
  • issue/cloud-3321322
  • issue/cloud-3322010
  • issue/cloud-3322021
  • issue/cloud-3322024
  • issue/cloud-3325391
  • issue/cloud-3325462
  • issue/cloud-3327042
  • issue/cloud-3327092
  • issue/cloud-3327228
  • issue/cloud-3328138
  • issue/cloud-3328509
  • issue/cloud-3328964
  • issue/cloud-3322344
  • issue/cloud-3322368
  • issue/cloud-3322385
  • issue/cloud-3322638
  • issue/cloud-3322725
  • issue/cloud-3322833
  • issue/cloud-3322836
  • issue/cloud-3323031
  • issue/cloud-3319538
  • issue/cloud-3323489
  • issue/cloud-3323495
  • issue/cloud-3323705
  • issue/cloud-3323738
  • issue/cloud-3323864
  • issue/cloud-3323928
  • issue/cloud-3323929
  • issue/cloud-3324001
  • issue/cloud-3324002
  • issue/cloud-3324004
  • issue/cloud-3324005
  • issue/cloud-3324023
  • issue/cloud-3323516
  • issue/cloud-3322870
  • issue/cloud-3324489
  • issue/cloud-3324666
  • issue/cloud-3324707
  • issue/cloud-3324719
  • issue/cloud-3324821
  • issue/cloud-3324864
  • issue/cloud-3324903
  • issue/cloud-3324906
  • issue/cloud-3324924
  • issue/cloud-3325053
  • issue/cloud-3325239
  • issue/cloud-3324908
  • issue/cloud-3325245
  • issue/cloud-3325264
  • issue/cloud-3325269
  • issue/cloud-3325936
  • issue/cloud-3329673
  • issue/cloud-3329897
  • issue/cloud-3329909
  • issue/cloud-3329927
  • issue/cloud-3328760
  • issue/cloud-3329988
  • issue/cloud-3331383
  • issue/cloud-3331442
  • issue/cloud-3331666
  • issue/cloud-3332069
  • issue/cloud-3332132
  • issue/cloud-3332171
  • issue/cloud-3332242
  • issue/cloud-3332373
  • issue/cloud-3332492
  • issue/cloud-3332620
  • issue/cloud-3332862
  • issue/cloud-3333124
  • issue/cloud-3333520
  • issue/cloud-3333526
  • issue/cloud-3333674
  • issue/cloud-3327817
  • issue/cloud-3333686
  • issue/cloud-3332491
  • issue/cloud-3334130
  • issue/cloud-3345121
  • issue/cloud-3334371
  • issue/cloud-3343041
  • issue/cloud-3334693
  • issue/cloud-3335024
  • issue/cloud-3335029
  • issue/cloud-3335061
  • issue/cloud-3335087
  • issue/cloud-3342932
  • issue/cloud-3344161
  • issue/cloud-3341767
  • issue/cloud-3345098
  • issue/cloud-3345130
  • issue/cloud-3350756
  • issue/cloud-3335392
  • issue/cloud-3335148
  • issue/cloud-3335656
  • issue/cloud-3335692
  • issue/cloud-3335976
  • issue/cloud-3335023
  • issue/cloud-3336208
  • issue/cloud-3336316
  • issue/cloud-3336577
  • issue/cloud-3336021
  • issue/cloud-3336803
  • issue/cloud-3337420
  • issue/cloud-3337751
  • issue/cloud-3337755
  • issue/cloud-3341768
  • issue/cloud-3345671
  • issue/cloud-3337802
  • issue/cloud-3338098
  • issue/cloud-3338102
  • issue/cloud-3344162
  • issue/cloud-3344856
  • issue/cloud-3344882
  • issue/cloud-3345783
  • issue/cloud-3338419
  • issue/cloud-3338437
  • issue/cloud-3338444
  • issue/cloud-3338794
  • issue/cloud-3339470
  • issue/cloud-3343034
  • issue/cloud-3343350
  • issue/cloud-3343582
  • issue/cloud-3345631
  • issue/cloud-3339774
  • issue/cloud-3339828
  • issue/cloud-3339860
  • issue/cloud-3340098
  • issue/cloud-3340135
  • issue/cloud-3340157
  • issue/cloud-3340431
  • issue/cloud-3340440
  • issue/cloud-3340454
  • issue/cloud-3340720
  • issue/cloud-3340731
  • issue/cloud-3340733
  • issue/cloud-3340739
  • issue/cloud-3340764
  • issue/cloud-3340875
  • issue/cloud-3341036
  • issue/cloud-3341158
  • issue/cloud-3341166
  • issue/cloud-3341225
  • issue/cloud-3341272
  • issue/cloud-3341453
  • issue/cloud-3341310
  • issue/cloud-3341759
  • issue/cloud-3341770
  • issue/cloud-3341772
  • issue/cloud-3324909
  • issue/cloud-3342217
  • issue/cloud-3342235
  • issue/cloud-3341766
  • issue/cloud-3342543
  • issue/cloud-3342559
  • issue/cloud-3343270
  • issue/cloud-3343591
  • issue/cloud-3343619
  • issue/cloud-3344152
  • issue/cloud-3344592
  • issue/cloud-3344860
  • issue/cloud-3345154
  • issue/cloud-3342631
  • issue/cloud-3342633
  • issue/cloud-3343275
  • issue/cloud-3346151
  • issue/cloud-3346177
  • issue/cloud-3346180
  • issue/cloud-3346196
  • issue/cloud-3346423
  • issue/cloud-3346385
  • issue/cloud-3346437
  • issue/cloud-3346439
  • issue/cloud-3346864
  • issue/cloud-3346876
  • issue/cloud-3346902
  • issue/cloud-3347135
  • issue/cloud-3347138
  • issue/cloud-3347147
  • issue/cloud-3347172
  • issue/cloud-3347213
  • issue/cloud-3347446
  • issue/cloud-3347542
  • issue/cloud-3347557
  • issue/cloud-3347743
  • issue/cloud-3347752
  • issue/cloud-3347756
  • issue/cloud-3347774
  • issue/cloud-3347890
  • issue/cloud-3348036
  • issue/cloud-3341769
  • issue/cloud-3348048
  • issue/cloud-3348082
  • issue/cloud-3348349
  • issue/cloud-3348370
  • issue/cloud-3352191
  • issue/cloud-3352626
  • issue/cloud-3348610
  • issue/cloud-3348611
  • issue/cloud-3348828
  • issue/cloud-3348833
  • issue/cloud-3348632
  • issue/cloud-3349074
  • issue/cloud-3349192
  • issue/cloud-3349209
  • issue/cloud-3349784
  • issue/cloud-3349803
  • issue/cloud-3349813
  • issue/cloud-3350051
  • issue/cloud-3349505
  • issue/cloud-3350094
  • issue/cloud-3350107
  • issue/cloud-3351774
  • issue/cloud-3351990
  • issue/cloud-3352343
  • issue/cloud-3352839
  • issue/cloud-3352843
  • issue/cloud-3353083
  • issue/cloud-3353128
  • issue/cloud-3352095
  • issue/cloud-3352284
  • issue/cloud-3352627
  • issue/cloud-3352840
  • issue/cloud-3352861
  • issue/cloud-3353134
  • issue/cloud-3352618
  • issue/cloud-3352836
  • issue/cloud-3353073
  • issue/cloud-3353144
  • issue/cloud-3351227
  • issue/cloud-3351815
  • issue/cloud-3352337
  • issue/cloud-3352821
  • issue/cloud-3353170
  • issue/cloud-3353175
  • issue/cloud-3353180
  • issue/cloud-3353296
  • issue/cloud-3353191
  • issue/cloud-3353380
  • issue/cloud-3353595
  • issue/cloud-3353930
  • issue/cloud-3354139
  • issue/cloud-3354236
  • issue/cloud-3354374
  • issue/cloud-3354376
  • issue/cloud-3354379
  • issue/cloud-3354502
  • issue/cloud-3354505
  • issue/cloud-3354736
  • issue/cloud-3354768
  • issue/cloud-3354809
  • issue/cloud-3355219
  • issue/cloud-3355236
  • issue/cloud-3355256
  • issue/cloud-3355302
  • issue/cloud-3355515
  • issue/cloud-3355903
  • issue/cloud-3355942
  • issue/cloud-3355954
  • issue/cloud-3355965
  • issue/cloud-3356158
  • issue/cloud-3356230
  • issue/cloud-3356454
  • issue/cloud-3356456
  • issue/cloud-3356527
  • issue/cloud-3356528
  • issue/cloud-3356531
  • issue/cloud-3356744
  • issue/cloud-3356758
  • issue/cloud-3356775
  • issue/cloud-3356778
  • issue/cloud-3356780
  • issue/cloud-3356995
  • issue/cloud-3357000
  • issue/cloud-3357013
  • issue/cloud-3357099
  • issue/cloud-3357058
  • issue/cloud-3357545
  • issue/cloud-3357753
  • issue/cloud-3358765
  • issue/cloud-3358769
  • issue/cloud-3358768
  • issue/cloud-3358789
  • issue/cloud-3358803
  • issue/cloud-3358945
  • issue/cloud-3359271
  • issue/cloud-3359275
  • issue/cloud-3359313
  • issue/cloud-3359518
  • issue/cloud-3360272
  • issue/cloud-3360861
  • issue/cloud-3360865
  • issue/cloud-3360866
  • issue/cloud-3360896
  • issue/cloud-3360927
  • issue/cloud-3361130
  • issue/cloud-3361362
  • issue/cloud-3361479
  • issue/cloud-3361611
  • issue/cloud-3361750
  • issue/cloud-3362575
  • issue/cloud-3362605
  • issue/cloud-3362795
  • issue/cloud-3362829
  • issue/cloud-3363078
  • issue/cloud-3363113
  • issue/cloud-3363458
  • issue/cloud-3363744
  • issue/cloud-3363771
  • issue/cloud-3363773
  • issue/cloud-3363995
  • issue/cloud-3364325
  • issue/cloud-3364381
  • issue/cloud-3364561
  • issue/cloud-3364562
  • issue/cloud-3364581
  • issue/cloud-3364582
  • issue/cloud-3364603
  • issue/cloud-3364689
  • issue/cloud-3364751
  • issue/cloud-3365043
  • issue/cloud-3365220
  • issue/cloud-3365221
  • issue/cloud-3365226
  • issue/cloud-3365514
  • issue/cloud-3365773
  • issue/cloud-3366067
  • issue/cloud-3366115
  • issue/cloud-3366345
  • issue/cloud-3366349
  • issue/cloud-3366350
  • issue/cloud-3366436
  • issue/cloud-3366614
  • issue/cloud-3366618
  • issue/cloud-3366641
  • issue/cloud-3366900
  • issue/cloud-3367141
  • issue/cloud-3367261
  • issue/cloud-3367394
  • issue/cloud-3367407
  • issue/cloud-3367408
  • issue/cloud-3367793
  • issue/cloud-3367795
  • issue/cloud-3367838
  • issue/cloud-3367848
  • issue/cloud-3368747
  • issue/cloud-3368924
  • issue/cloud-3369296
  • issue/cloud-3369298
  • issue/cloud-3369977
  • issue/cloud-3370000
  • issue/cloud-3370030
  • issue/cloud-3402291
  • issue/cloud-3402708
  • issue/cloud-3406367
  • issue/cloud-3406626
  • issue/cloud-3370376
  • issue/cloud-3370570
  • issue/cloud-3400344
  • issue/cloud-3370819
  • issue/cloud-3370824
  • issue/cloud-3370846
  • issue/cloud-3403931
  • issue/cloud-3400408
  • issue/cloud-3405792
  • issue/cloud-3406395
  • issue/cloud-3406669
  • issue/cloud-3401036
  • issue/cloud-3401432
  • issue/cloud-3403261
  • issue/cloud-3404490
  • issue/cloud-3404789
  • issue/cloud-3399268
  • issue/cloud-3401037
  • issue/cloud-3401472
  • issue/cloud-3405390
  • issue/cloud-3405417
  • issue/cloud-3406378
  • issue/cloud-3399270
  • issue/cloud-3401473
  • issue/cloud-3406140
  • issue/cloud-3402646
  • issue/cloud-3402982
  • issue/cloud-3399472
  • issue/cloud-3399772
  • issue/cloud-3402301
  • issue/cloud-3406159
  • issue/cloud-3401049
  • issue/cloud-3406113
  • issue/cloud-3406635
  • issue/cloud-3406675
  • issue/cloud-3399993
  • issue/cloud-3405084
  • issue/cloud-3405425
  • issue/cloud-3399443
  • issue/cloud-3401420
  • issue/cloud-3400001
  • issue/cloud-3404519
  • issue/cloud-3371211
  • issue/cloud-3371251
  • issue/cloud-3371479
  • issue/cloud-3371480
  • issue/cloud-3371514
  • issue/cloud-3371922
  • issue/cloud-3372114
  • issue/cloud-3372119
  • issue/cloud-3372366
  • issue/cloud-3372415
  • issue/cloud-3373050
  • issue/cloud-3373136
  • issue/cloud-3373299
  • issue/cloud-3373456
  • issue/cloud-3373754
  • issue/cloud-3373789
  • issue/cloud-3374262
  • issue/cloud-3374538
  • issue/cloud-3374266
  • issue/cloud-3375128
  • issue/cloud-3375264
  • issue/cloud-3375434
  • issue/cloud-3375481
  • issue/cloud-3375708
  • issue/cloud-3375818
  • issue/cloud-3375970
  • issue/cloud-3376004
  • issue/cloud-3376008
  • issue/cloud-3376108
  • issue/cloud-3376363
  • issue/cloud-3376471
  • issue/cloud-3376804
  • issue/cloud-3377028
  • issue/cloud-3377300
  • issue/cloud-3377611
  • issue/cloud-3377631
  • issue/cloud-3377667
  • issue/cloud-3377984
  • issue/cloud-3378118
  • issue/cloud-3378152
  • issue/cloud-3378661
  • issue/cloud-3378883
  • issue/cloud-3378898
  • issue/cloud-3378678
  • issue/cloud-3379058
  • issue/cloud-3379176
  • issue/cloud-3379178
  • issue/cloud-3379196
  • issue/cloud-3379427
  • issue/cloud-3379498
  • issue/cloud-3379581
  • issue/cloud-3379826
  • issue/cloud-3379831
  • issue/cloud-3379866
  • issue/cloud-3380153
  • issue/cloud-3380164
  • issue/cloud-3380403
  • issue/cloud-3380604
  • issue/cloud-3380806
  • issue/cloud-3380859
  • issue/cloud-3380867
  • issue/cloud-3380950
  • issue/cloud-3381113
  • issue/cloud-3381159
  • issue/cloud-3399745
  • issue/cloud-3400002
  • issue/cloud-3405430
  • issue/cloud-3381738
  • issue/cloud-3381795
  • issue/cloud-3382016
  • issue/cloud-3382020
  • issue/cloud-3382180
  • issue/cloud-3382217
  • issue/cloud-3382223
  • issue/cloud-3382242
  • issue/cloud-3382222
  • issue/cloud-3382427
  • issue/cloud-3382740
  • issue/cloud-3382739
  • issue/cloud-3382746
  • issue/cloud-3382783
  • issue/cloud-3383005
  • issue/cloud-3383010
  • issue/cloud-3383054
  • issue/cloud-3383248
  • issue/cloud-3383258
  • issue/cloud-3383329
  • issue/cloud-3383507
  • issue/cloud-3383575
  • issue/cloud-3383633
  • issue/cloud-3383636
  • issue/cloud-3383641
  • issue/cloud-3383642
  • issue/cloud-3383687
  • issue/cloud-3384450
  • issue/cloud-3384636
  • issue/cloud-3384506
  • issue/cloud-3385077
  • issue/cloud-3385085
  • issue/cloud-3385104
  • issue/cloud-3385244
  • issue/cloud-3385247
  • issue/cloud-3385269
  • issue/cloud-3385261
  • issue/cloud-3385308
  • issue/cloud-3385535
  • issue/cloud-3385807
  • issue/cloud-3385822
  • issue/cloud-3385981
  • issue/cloud-3386037
  • issue/cloud-3386224
  • issue/cloud-3386250
  • issue/cloud-3386259
  • issue/cloud-3386365
  • issue/cloud-3386366
  • issue/cloud-3386367
  • issue/cloud-3386384
  • issue/cloud-3386471
  • issue/cloud-3386601
  • issue/cloud-3386610
  • issue/cloud-3386619
  • issue/cloud-3386712
  • issue/cloud-3386739
  • issue/cloud-3386873
  • issue/cloud-3386883
  • issue/cloud-3387181
  • issue/cloud-3387448
  • issue/cloud-3387454
  • issue/cloud-3387479
  • issue/cloud-3387562
  • issue/cloud-3387722
  • issue/cloud-3387724
  • issue/cloud-3387728
  • issue/cloud-3387819
  • issue/cloud-3387854
  • issue/cloud-3387938
  • issue/cloud-3387987
  • issue/cloud-3388149
  • issue/cloud-3388428
  • issue/cloud-3388430
  • issue/cloud-3388435
  • issue/cloud-3388469
  • issue/cloud-3388533
  • issue/cloud-3388714
  • issue/cloud-3388999
  • issue/cloud-3389044
  • issue/cloud-3389063
  • issue/cloud-3389266
  • issue/cloud-3389343
  • issue/cloud-3389344
  • issue/cloud-3389352
  • issue/cloud-3389430
  • issue/cloud-3389433
  • issue/cloud-3389470
  • issue/cloud-3389474
  • issue/cloud-3389704
  • issue/cloud-3389830
  • issue/cloud-3390034
  • issue/cloud-3390522
  • issue/cloud-3390564
  • issue/cloud-3390573
  • issue/cloud-3390762
  • issue/cloud-3390897
  • issue/cloud-3390908
  • issue/cloud-3390991
  • issue/cloud-3391015
  • issue/cloud-3391487
  • issue/cloud-3391488
  • issue/cloud-3392084
  • issue/cloud-3392090
  • issue/cloud-3392095
  • issue/cloud-3392108
  • issue/cloud-3392127
  • issue/cloud-3392137
  • issue/cloud-3392305
  • issue/cloud-3392432
  • issue/cloud-3392783
  • issue/cloud-3392803
  • issue/cloud-3393133
  • issue/cloud-3393432
  • issue/cloud-3393448
  • issue/cloud-3393450
  • issue/cloud-3395061
  • issue/cloud-3396478
  • issue/cloud-3396494
  • issue/cloud-3396497
  • issue/cloud-3396782
  • issue/cloud-3396841
  • issue/cloud-3397568
  • issue/cloud-3397597
  • issue/cloud-3396795
  • issue/cloud-3397917
  • issue/cloud-3397921
  • issue/cloud-3398036
  • issue/cloud-3398238
  • issue/cloud-3398925
  • issue/cloud-3399189
  • issue/cloud-3406842
  • issue/cloud-3406908
  • issue/cloud-3406963
  • issue/cloud-3407721
  • issue/cloud-3407815
  • issue/cloud-3407818
  • issue/cloud-3407819
  • issue/cloud-3407826
  • issue/cloud-3407829
  • issue/cloud-3407830
  • issue/cloud-3407982
  • issue/cloud-3407990
  • issue/cloud-3408015
  • issue/cloud-3408028
  • issue/cloud-3408068
  • issue/cloud-3408070
  • issue/cloud-3408104
  • issue/cloud-3408343
  • issue/cloud-3408346
  • issue/cloud-3408134
  • issue/cloud-3408372
  • issue/cloud-3408385
  • issue/cloud-3408832
  • issue/cloud-3408899
  • issue/cloud-3408933
  • issue/cloud-3408939
  • issue/cloud-3408965
  • issue/cloud-3408967
  • issue/cloud-3409356
  • issue/cloud-3409363
  • issue/cloud-3409375
  • issue/cloud-3409382
  • issue/cloud-3409553
  • issue/cloud-3409555
  • issue/cloud-3446961
  • issue/cloud-3409889
  • issue/cloud-3409911
  • issue/cloud-3409916
  • issue/cloud-3410153
  • issue/cloud-3410164
  • issue/cloud-3410185
  • issue/cloud-3410475
  • issue/cloud-3410677
  • issue/cloud-3410766
  • issue/cloud-3410771
  • issue/cloud-3410780
  • issue/cloud-3410824
  • issue/cloud-3410830
  • issue/cloud-3410832
  • issue/cloud-3410852
  • issue/cloud-3410853
  • issue/cloud-3410955
  • issue/cloud-3410968
  • issue/cloud-3410970
  • issue/cloud-3411114
  • issue/cloud-3411116
  • issue/cloud-3411129
  • issue/cloud-3411135
  • issue/cloud-3411149
  • issue/cloud-3411154
  • issue/cloud-3413903
  • issue/cloud-3413926
  • issue/cloud-3413928
  • issue/cloud-3413929
  • issue/cloud-3414125
  • issue/cloud-3414192
  • issue/cloud-3414204
  • issue/cloud-3414209
  • issue/cloud-3414221
  • issue/cloud-3414223
  • issue/cloud-3415106
  • issue/cloud-3415190
  • issue/cloud-3415219
  • issue/cloud-3415363
  • issue/cloud-3415372
  • issue/cloud-3415697
  • issue/cloud-3416044
  • issue/cloud-3416628
  • issue/cloud-3418203
  • issue/cloud-3418510
  • issue/cloud-3420266
  • issue/cloud-3422779
  • issue/cloud-3422777
  • issue/cloud-3423102
  • issue/cloud-3424163
  • issue/cloud-3424203
  • issue/cloud-3424219
  • issue/cloud-3424234
  • issue/cloud-3424222
  • issue/cloud-3425376
  • issue/cloud-3425385
  • issue/cloud-3425508
  • issue/cloud-3425630
  • issue/cloud-3425894
  • issue/cloud-3425931
  • issue/cloud-3426516
  • issue/cloud-3426535
  • issue/cloud-3426534
  • issue/cloud-3426964
  • issue/cloud-3427185
  • issue/cloud-3426240
  • issue/cloud-3427759
  • issue/cloud-3428019
  • issue/cloud-3436665
  • issue/cloud-3428380
  • issue/cloud-3437561
  • issue/cloud-3437562
  • issue/cloud-3437563
  • issue/cloud-3437159
  • issue/cloud-3436606
  • issue/cloud-3443311
  • issue/cloud-3436314
  • issue/cloud-3443330
  • issue/cloud-3436316
  • issue/cloud-3431187
  • issue/cloud-3432015
  • issue/cloud-3432549
  • issue/cloud-3432891
  • issue/cloud-3432907
  • issue/cloud-3447759
  • issue/cloud-3447760
  • issue/cloud-3449171
  • issue/cloud-3452826
  • issue/cloud-3452874
  • issue/cloud-3452875
  • issue/cloud-3452876
  • issue/cloud-3458095
  • issue/cloud-3458421
  • issue/cloud-3458886
  • issue/cloud-3458887
  • issue/cloud-3458885
  • issue/cloud-3458897
  • issue/cloud-3461750
  • issue/cloud-3461928
  • issue/cloud-3464812
  • issue/cloud-3467938
  • issue/cloud-3487684
  • issue/cloud-3487704
  • issue/cloud-3488325
1980 results
Show changes
Commits on Source (515)
Showing with 299 additions and 420 deletions
--errors=box-model,
display-property-grouping,
duplicate-background-images,
duplicate-properties,
empty-rules,
ids,
import,
important,
known-properties,
outline-none,
overqualified-elements,
qualified-headings,
shorthand,
star-property-hack,
text-indent,
underscore-property-hack,
unique-headings,
unqualified-attributes,
vendor-prefix,
zero-units
--ignore=adjoining-classes,
box-sizing,
bulletproof-font-face,
compatible-vendor-prefixes,
errors,
fallback-colors,
floats,
font-faces,
font-sizes,
gradients,
import-ie-limit,
order-alphabetical,
regex-selectors,
rules-count,
selector-max,
selector-max-approaching,
selector-newline,
universal-selector
--exclude-list=./modules/cloud_dashboard/css,
./modules/cloud_dashboard/cloud_dashboard/src
{
"root": true,
"env": {
"browser": true,
"es6": true,
"node": true
},
"extends": [
"plugin:yml/recommended"
],
"ignorePatterns": [
"modules/cloud_dashboard/js/index.js",
"modules/cloud_dashboard/cloud_dashboard",
"modules/cloud_service_providers/cloud_cluster/templates/k8s/cloud_orchestrator.yml"
]
}
......@@ -3,9 +3,6 @@
#
# Gitlab-ci.yml to replicate DrupalCI testing for Contrib
#
# This is hestenet's test template
# Source: https://gitlab.com/drupal-infrastructure/gitlab-acceleration/gitlabci/file-templates/-/blob/main/gitlab-ci/template.gitlab-ci.yml
#
# With thanks to:
# * The GitLab Acceleration Initiative participants
# * DrupalSpoons
......@@ -25,264 +22,66 @@
# Additional configuration can be provided through includes.
# One advantage of include files is that if they are updated upstream, the changes affect all pipelines using that include.
#
# Includes can be overriden by re-declaring anything provided in an include, here in gitlab-ci.yml
# Includes can be overridden by re-declaring anything provided in an include, here in gitlab-ci.yml
# https://docs.gitlab.com/ee/ci/yaml/includes.html#override-included-configuration-values
################
include:
################
# DrupalCI includes:
# include.drupalci.main.yml - This parent include contains nested includes for all DrupalCI test features. As long as you include this, any future includes added by the Drupal Association will be accessible to your pipelies automatically.
# View this file to see what nested includes are provided.
# As long as you include this, any future includes added by the Drupal Association will be accessible to your pipelines automatically.
# View these include files at https://git.drupalcode.org/project/gitlab_templates/
################
remote: 'https://git.drupalcode.org/project/gitlab_templates/-/raw/1.0.x/includes/include.drupalci.main.yml'
################
# Variables
#
# The include file include.drupalci.main.yml in this template includes a include.drupalci.variables.yml
# - These variables provide 'Semantic Labels' to help you automatically track the current supported and development versions of Drupal, as well as the current min/max system requirements for PHP, database, etc.
# - If this file is updated, your testing configuration will automatically follow these changes.
#
# Overriding variables
# - To override one or more of these variables, simply declare your own variables keyword.
# - Keywords declared directly in .gitlab-ci.yml take precedence over include files.
# - Documentation: https://docs.gitlab.com/ee/ci/variables/
# - Predefined variables: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
#
################
################
# Workflow
#
# The include file include.drupalci.main.yml in this template includes a include.drupalci.worfklows.yml
# - This will test on commit, on merge request, and on any scheduled defined in the GitLab UI for your project.
# - If this file is updated, your testing configuration will automatically follow these changes.
#
# Overriding workflows
# - To override these workflows, simply declare your own workflow keyword.
# - Keywords declared directly in .gitlab-ci.yml take precedence over include files.
# - Documentation: https://docs.gitlab.com/ee/ci/yaml/workflow.html
#
################
- project: $_GITLAB_TEMPLATES_REPO
# "ref" value can be:
# - Recommended (default) - `ref: $_GITLAB_TEMPLATES_REF` - The Drupal Association will update this value to the recommended tag for contrib.
# - Latest - `ref: main` - Get the latest additions and bug fixes as they are merged into the templates.
# - Minor or Major latests - `ref: 1.x-latest` or `ref: 1.0.x-latest` - Get the latest additions within a minor (mostly bugfixes) or major (bugs and new features).
# - Fixed tag - `ref: 1.0.1` - Set the value to a known tag. This will not get any updates.
# If you change the default value of ref, you should set the _CURL_TEMPLATES_REF variable in the variables section to be the same as set here.
ref: $_GITLAB_TEMPLATES_REF
file:
- '/includes/include.drupalci.main.yml'
# For Drupal 7, remove the above line and uncomment the below.
# - '/includes/include.drupalci.main-d7.yml'
- '/includes/include.drupalci.variables.yml'
- '/includes/include.drupalci.workflows.yml'
################
# Workflow
# Pipeline configuration variables
#
# Set global defaults, including:
# - php image
# - interruptible:true, so that new pushes can stop the current job and start a new one
# These are the variables provided to the Run Pipeline form that a user may want to override.
#
# Docs at https://git.drupalcode.org/project/gitlab_templates/-/blob/main/includes/include.drupalci.variables.yml
################
variables:
# Set to 1 to skip the cspell CI job
SKIP_CSPELL: '1'
default:
interruptible: true
image:
name: $_CONFIG_DOCKERHUB_ROOT/php-$_TARGET_PHP-apache:production
# Run the phpunit job leveraging concurrency. Turned off by default, set to 1 to enable concurrency. This will use the Drupal core `run-tests.sh` script currently used in DrupalCI for both core and contrib.
# See also: https://git.drupalcode.org/project/gitlab_templates/-/blob/main/includes/include.drupalci.variables.yml#L71-73
_PHPUNIT_CONCURRENT: '1'
################
# Stages
#
# Each job is assigned to a stage, defining the order in which the jobs are executed.
# Jobs in the same stage run in parallel.
#
# If all jobs in a stage succeed, the pipeline will proceed to the next stage.
# If any job in the stage fails, the pipeline will exit early.
################
stages:
################
# Build
#
# In the Build stage we are assembling our test environment:
# * Selecting the core version to test against
# * Selecting php version
# * Selectig the database, and configuring it
# * Plus any additional build steps, like composer runs, etc
# Wherever possible, we use variables defined in: include.druaplci.variables.yml so that the configuration can stay up to date with current Drupal Core development.
#
# Documentation: https://docs.gitlab.com/ee/ci/yaml/#stages
################
- build
################
# Validate
#
# The validate stage includes any codebase validation that we want to perform before running functional tests. These are items we may want to fail-fast on, before doing a full test-run.
################
- validate
################
# Test
#
# The test phase actually executes the functional tests, as well as gathering results and artifacts.
################
- test
################
# Jobs
#
# Jobs define what scripts are actually executed in each stage.
#
# The 'rules' keyword can also be used to define conditions for each job.
# # @TODO: Use rules to define core version to test against, allow overriding default on manual run with variables. (Perhaps with 'variables in variables')
#
# Documentation: https://docs.gitlab.com/ee/ci/jobs/
################
################
# Build Jobs
################
variable-checks: # This job runs in the build stage, which runs first.
stage: build
script:
- echo "Checking variables"
- echo $_TARGET_CORE
- echo $_TARGET_PHP
- echo $_TARGET_DB_TYPE
- echo $_TARGET_DB_VERSION
- echo $_WEB_ROOT
- echo $_COMPOSER_JSON
# @TODO - work in progress to adapt the composer build step from DrupalSpoons examples
composer:
stage: build
variables:
# Used the bin/setup script.
NONINTERACTIVE: 1
# Use artifacts to copy codebase to subsequent jobs.
# See https://lorisleiva.com/laravel-deployment-using-gitlab-pipelines/.
artifacts:
expire_in: 1 week
expose_as: 'web-vendor'
paths: # @todo - where we want to store artifacts?
- vendor/
- $_WEB_ROOT
- .composer-plugin.env
- composer.spoons.json
- composer.spoons.lock\
script: #this script is configuring composer, including options for local Dev - can we simplify?
- export
- bash <(curl -s $_COMPOSER_SETUP)
- composer config platform.ext-sodium $PHP_VERSION --file=composer.json
# Change the PHP and drupal/core versions.
PHP_VERSION: "$CORE_PHP_MAX"
DRUPAL_CORE: '10.3.x'
################
# Validate Jobs
# Make jobs of validate stage not allow failure.
################
composer-lint:
stage: validate
script:
- composer validate
- composer lint
allow_failure: false
phpcs:
stage: validate
script:
# Do we need: vendor/drupalspoons/composer-plugin/templates/phpcs.xml.dist ?
#- cp -u vendor/drupalspoons/composer-plugin/templates/phpcs.xml.dist $_WEB_ROOT/modules/custom
- composer phpcs -- --report-junit=junit.xml --report-full --report-summary
allow_failure: true
artifacts:
expose_as: junit
expire_in: 6 mos
paths:
- junit.xml
reports:
junit: junit.xml
allow_failure: false
phpstan:
allow_failure: false
stylelint:
stage: validate
script:
# Installs all core javascript dependencies.
- yarn --cwd $_WEB_ROOT/core add stylelint-junit-formatter
- composer stylelint -- --color || true
- composer stylelint -- --color --custom-formatter node_modules/stylelint-junit-formatter > junit.xml || true
allow_failure: true
artifacts:
expose_as: junit
expire_in: 6 mos
paths:
- junit.xml
reports:
junit: junit.xml
allow_failure: false
eslint:
stage: validate
script:
# Installs all core javascript dependencies.
- yarn --cwd $_WEB_ROOT/core add stylelint-junit-formatter
- composer eslint -- --format junit --output-file junit.xml || true
allow_failure: true
artifacts:
expose_as: junit
expire_in: 6 mos
paths:
- junit.xml
reports:
junit: junit.xml
################
# Test Jobs
################
# @TODO: Multiple environment handling
# Do we want to offer a default example of matrix testing, perhaps commented out? Or linked to in documentation?
# Or do we want to stick to single environment for cost control, and rely on advanced maintainers to figure it out?
################
phpunit:
stage: test
variables:
# https://docs.gitlab.com/runner/configuration/feature-flags.html#available-feature-flags
FF_NETWORK_PER_BUILD: 1
SIMPLETEST_BASE_URL: http://localhost:8888
DB_DRIVER: mysql
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mysql
MYSQL_USER: drupaltestbot
MYSQL_PASSWORD: drupaltestbotpw
MARIADB_TAG: $_TARGET_DB_VERSION
POSTGRES_TAG: $_TARGET_DB_VERSION
POSTGRES_DB: pgsql
POSTGRES_USER: drupaltestbot
POSTGRES_PASSWORD: drupaltestbotpw
services:
- name: $_CONFIG_DOCKERHUB_ROOT/$_TARGET_DB_TYPE-$_TARGET_DB_VERSION:production
alias: database
- name: $_CONFIG_DOCKERHUB_ROOT/chromedriver:production
alias: chrome
entrypoint:
- chromedriver
- "--no-sandbox"
- "--log-path=/tmp/chromedriver.log"
- "--verbose"
- "--whitelisted-ips="
script:
# Determine DB driver.
- |
[[ $_TARGET_DB_TYPE == "sqlite" ]] && export SIMPLETEST_DB=sqlite://localhost/sites/default/files/.sqlite
[[ $_TARGET_DB_TYPE == "mysql" ]] && export SIMPLETEST_DB=mysql://$MYSQL_USER:$MYSQL_PASSWORD@database/$MYSQL_DATABASE
[[ $_TARGET_DB_TYPE == "pgsql" ]] && export SIMPLETEST_DB=pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@database/$POSTGRES_DB
- export
- mkdir $_WEB_ROOT/sites/simpletest
- composer webserver >> webserver.log 2>&1 &
# Provide some context on the test run.
- vendor/bin/drush status
# Finally, execute tests.
- composer unit -- --log-junit junit.xml
artifacts:
expire_in: 6 mos
expose_as: 'junit-browser_output-webserver_log'
reports:
junit: junit.xml
paths:
- junit.xml
- webserver.log
- $_WEB_ROOT/sites/simpletest/browser_output
allow_failure: false
###################################################################################
#
......
services:
php:
image: q0rban/tugboat-drupal:9.5.7
image: q0rban/tugboat-drupal:latest
privileged: true
default: true
http: false
......@@ -10,7 +10,7 @@ services:
init: |
set -eux
curl -fsSL https://deb.nodesource.com/setup_16.x | bash -
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get update > /dev/null 2>&1 && \
apt-get install -y --no-install-recommends gcc g++ make nodejs yarnpkg \
cron \
......@@ -19,6 +19,8 @@ services:
libjpeg-dev \
libmemcached-dev \
libpng-dev \
libssl-dev \
libwebp-dev \
libzip-dev \
sqlite3 \
unzip \
......@@ -38,6 +40,9 @@ services:
# Set up the max input vars.
echo 'max_input_vars = 100000' >> "${PHP_INI}"
# Set up the default output buffering size.
echo 'output_buffering = 4096' >> "${PHP_INI}"
# Check out a branch using the unique Tugboat ID for this repository, to
# ensure we don't clobber an existing branch.
git checkout -b "${TUGBOAT_REPO_ID}"
......@@ -63,9 +68,13 @@ services:
# Install graphic libraries.
docker-php-ext-configure gd \
--with-freetype \
--with-jpeg > /dev/null 2>&1
--with-jpeg \
--with-webp > /dev/null 2>&1
docker-php-ext-install -j "$(nproc)" \
gd \
mysqli \
opcache \
pdo_mysql \
zip > /dev/null 2>&1
# Composer is hungry. You need a Tugboat project with a pretty sizeable
......@@ -177,7 +186,7 @@ services:
set -eux
# Delete and re-check out this branch in case this is built from a Base Preview.
git checkout 6.x && git branch -D "${TUGBOAT_REPO_ID}" && git checkout -b "${TUGBOAT_REPO_ID}" || true
git checkout 8.x && git branch -D "${TUGBOAT_REPO_ID}" && git checkout -b "${TUGBOAT_REPO_ID}" || true
export COMPOSER_MEMORY_LIMIT=-1
cd "${DRUPAL_COMPOSER_ROOT}"
composer install --optimize-autoloader
......
......@@ -8,10 +8,10 @@ Cloud_ as a one-stop portal to manage multiple cloud service providers.
Requirements
============
- PHP `8.0` or higher (`128 MB` memory or higher)
- MySQL `5.7` or higher _OR_ MariaDB `10.3` or higher
- Drupal `9.5` or higher
- Cloud `6.x`
- PHP `8.3` or higher (`128 MB` memory or higher)
- MySQL `8.0` or higher _OR_ MariaDB `10.5` or higher
- Drupal `10.3` or higher
- Cloud `8.x`
- This branch includes support for _AWS_, _Kubernetes_, _OpenStack_,
_VMware_ and _Terraform Cloud_
- Future support includes _GCP_ and _MS Azure_
......@@ -44,7 +44,7 @@ Installation
docomoinnovations/cloud_orchestrator cloud_orchestrator`
2. Launch Cloud [Cloud Orchestrator](
https://www.drupal.org/project/cloud_orchestrator
) `6.x-dev` from [AWS Marketplace](
) `8.x-dev` from [AWS Marketplace](
https://aws.amazon.com/marketplace/pp/B08PN2Z6X6?ref_=srh_res_product_title
)
3. Launch an Amazon EC2 instance of Cloud Orchestrator using
......@@ -240,10 +240,5 @@ Cloud Orchestrator is released under the terms of the [GPLv2 license](https://ww
Maintainers
===========
- `yas` (https://drupal.org/u/yas)
- `baldwinlouie` (https://www.drupal.org/u/baldwinlouie)
- `Kumiko Ono (kumikoono)` (https://www.drupal.org/u/kumikoono)
- `Masami Suzuki (Masami)` (https://www.drupal.org/u/Masami)
- `Ryo Yamashita` (https://www.drupal.org/u/ryo-yamashita)
- `Takumaru Sekine (sekinet)` (https://www.drupal.org/u/sekinet)
- `Xiaohua Guan` (https://www.drupal.org/u/xiaohua-guan)
- Yas Naoi (`yas`) (https://drupal.org/u/yas)
- Baldwin Louie (`baldwinlouie`) (https://www.drupal.org/u/baldwinlouie)
......@@ -31,7 +31,7 @@ PROJECT_NAME = Cloud
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = ver.6.x-dev
PROJECT_NUMBER = ver.8.x-dev
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
......
......@@ -2,7 +2,7 @@ name: 'Cloud'
type: module
description: 'Allows users to manage cloud service providers.'
package: Cloud
core_version_requirement: ^9.5 || ^10
core_version_requirement: ^10.3 || ^11
configure: cloud.settings
dependencies:
- drupal:field
......@@ -15,5 +15,5 @@ dependencies:
- drupal:taxonomy
- drupal:text
- drupal:views
scripts:
- js/cloud.js
interface translation project: cloud
interface translation server pattern: modules/contrib/cloud/translations/%language.po
......@@ -5,23 +5,18 @@
* Install and updates for aws_cloud.
*/
use Drupal\Component\Serialization\Yaml;
use Drupal\Core\Config\FileStorage;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\cloud\Controller\CloudLaunchTemplateAccessControlHandler;
use Drupal\cloud\Controller\CloudLaunchTemplateListBuilder;
use Drupal\cloud\Entity\CloudLaunchTemplate;
use Drupal\cloud\Entity\CloudLaunchTemplateStorage;
use Drupal\cloud\Entity\CloudLaunchTemplateTranslationHandler;
use Drupal\cloud\Entity\CloudLaunchTemplateType;
use Drupal\cloud\Entity\CloudLaunchTemplateTypeListBuilder;
use Drupal\cloud\Entity\CloudLaunchTemplateViewsData;
use Drupal\cloud\Form\CloudLaunchTemplateDeleteForm;
use Drupal\cloud\Form\CloudLaunchTemplateForm;
use Drupal\cloud\Form\CloudLaunchTemplateTypeDeleteForm;
use Drupal\cloud\Form\CloudLaunchTemplateTypeForm;
use Drupal\cloud\Routing\CloudLaunchTemplateTypeHtmlRouteProvider;
use Drupal\Component\Serialization\Yaml;
use Drupal\Core\Config\FileStorage;
use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\field\Entity\FieldStorageConfig;
/**
......@@ -100,79 +95,6 @@ function cloud_update_8104(): void {
]);
}
/**
* Migrate cloud launch template entity to Cloud module.
*
* Backup database before performing this update!
*/
function cloud_update_8110(): void {
// Flush the cache first.
drupal_flush_all_caches();
// Clear the definition cache.
\Drupal::service('config.typed')->clearCachedDefinitions();
$update_manager = \Drupal::entityDefinitionUpdateManager();
// Update the cloud launch template configuration entity.
$server_template_type = $update_manager->getEntityType('cloud_server_template_type');
$server_template_type->set('class', CloudLaunchTemplateType::class);
$server_template_type->set('originalClass', CloudLaunchTemplateType::class);
$handlers = [
'list_builder' => CloudLaunchTemplateTypeListBuilder::class,
'form' => [
'add' => CloudLaunchTemplateTypeForm::class,
'edit' => CloudLaunchTemplateTypeForm::class,
'delete' => CloudLaunchTemplateTypeDeleteForm::class,
],
];
$server_template_type->set('handlers', $handlers);
$route_provider = [
'html' => CloudLaunchTemplateTypeHtmlRouteProvider::class,
];
$server_template_type->set('route_provider', $route_provider);
$server_template_type->set('provider', 'cloud');
$update_manager->updateEntityType($server_template_type);
// Update the cloud launch template definition.
$server_template = $update_manager->getEntityType('cloud_launch_template');
$server_template->set('class', CloudLaunchTemplate::class);
$server_template->set('originalClass', CloudLaunchTemplate::class);
$handlers = [
'storage' => CloudLaunchTemplateStorage::class,
'list_builder' => CloudLaunchTemplateListBuilder::class,
'views_data' => CloudLaunchTemplateViewsData::class,
'translation' => CloudLaunchTemplateTranslationHandler::class,
'form' => [
'default' => CloudLaunchTemplateForm::class,
'add' => CloudLaunchTemplateForm::class,
'edit' => CloudLaunchTemplateForm::class,
'delete' => CloudLaunchTemplateDeleteForm::class,
'launch' => 'Drupal\cloud_server_template\Form\CloudLaunchTemplateLaunchConfirm',
],
'access' => CloudLaunchTemplateAccessControlHandler::class,
'route_provider' => [
'html' => 'Drupal\cloud_server_template\Routing\CloudLaunchTemplateHtmlRouteProvider',
],
];
$server_template->set('handlers', $handlers);
$server_template->set('provider', 'cloud');
$update_manager->updateEntityType($server_template);
// Update the configurations.
$config_factory = \Drupal::configFactory();
$config = $config_factory->getEditable('cloud_launch_template.cloud_server_template_type.aws_cloud');
$config->setName('cloud.cloud_server_template_type.aws_cloud');
$config->save();
\Drupal::service('config.typed')->clearCachedDefinitions();
drupal_flush_all_caches();
// Update the yml files.
\Drupal::service('cloud')->updateYmlDefinitions(cloud_get_launch_template_yml_to_update(), 'aws_cloud');
}
/**
* Remove the old cloud_launch_template definition.
*/
......@@ -1265,3 +1187,26 @@ function cloud_update_8158(): void {
$config->set('cloud_enable_queue_cleanup', TRUE);
$config->save();
}
/**
* Add default values for toggling SPA application.
*/
function cloud_update_8159(): void {
$config_factory = \Drupal::configFactory();
$config = $config_factory->getEditable('cloud.settings');
$config->set('cloud_use_spa', FALSE);
$config->set('cloud_spa_callback_url', '');
$config->set('cloud_spa_key_directory', '');
$config->save();
}
/**
* Change the permission of list view cloud_store.
*/
function cloud_update_8160(): void {
// Update cloud_store view.
$files = [
'views.view.cloud_store.yml',
];
\Drupal::service('cloud')->updateYmlDefinitions($files, 'cloud');
}
cloud:
version: 6.x-dev
js:
js/cloud.js: {}
dependencies:
- core/jquery
cloud_view_builder:
version: 6.x-dev
version: 8.x-dev
css:
theme:
css/cloud_view_builder.css: {}
......@@ -21,7 +14,7 @@ d3:
https://d3js.org/d3.v5.min.js: { type: external, minified: true }
d3-horizon-chart:
version: 6.x-dev
version: 8.x-dev
license:
name: Apache License, Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
......@@ -47,18 +40,18 @@ c3:
dependencies:
- cloud/d3
select2:
remote: https://github.com/select2/select2
version: 4.0.5
tom-select:
remote: https://github.com/orchidjs/tom-select
version: 2.3.1
license:
name: The MIT License (MIT)
url: https://raw.githubusercontent.com/select2/select2/master/LICENSE.md
gpl-compatible: true
name: Apache License, Version 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
gpl-compatible: false
js:
https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.full.min.js: { type: external, minified: true }
https://cdn.jsdelivr.net/npm/tom-select@2.3.1/dist/js/tom-select.complete.min.js: { type: external, minified: true }
css:
theme:
https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css: { type: external, minified: true }
https://cdn.jsdelivr.net/npm/tom-select@2.3.1/dist/css/tom-select.css: { type: external, minified: true }
datatables:
remote: https://github.com/fiduswriter/Simple-DataTables
......@@ -82,7 +75,7 @@ chartjs:
https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.min.js: { type: external, minified: true }
cloud_config_location:
version: 6.x-dev
version: 8.x-dev
js:
js/cloud_config_location.js: {}
dependencies:
......@@ -93,20 +86,20 @@ cloud_config_location:
css/cloud_config_location.css: {}
cloud_geocoder:
version: 6.x-dev
version: 8.x-dev
js:
js/cloud_geocoder.js: {}
dependencies:
- core/jquery
cloud_icon:
version: 6.x-dev
version: 8.x-dev
css:
theme:
css/cloud_icon.css: {}
cloud_ansi_color:
version: 6.x-dev
version: 8.x-dev
css:
theme:
css/cloud_ansi_color.css: {}
......@@ -21,6 +21,12 @@ cloud.admin.menu:
expanded: true
weight: 120
cloud.admin.menu.administration:
title: 'Administration'
route_name: 'view.cloud_config.admin'
parent: cloud.admin.menu
weight: 10
cloud.menu.cloud_links:
deriver: 'Drupal\cloud\Plugin\Derivative\CloudMenuLinks'
weight: 110
......
......@@ -10,11 +10,6 @@ entity.cloud_config.edit_form:
base_route: entity.cloud_config.canonical
title: 'Edit'
entity.cloud_config.version_history:
route_name: entity.cloud_config.version_history
base_route: entity.cloud_config.canonical
title: 'Revisions'
entity.cloud_config.delete_form:
route_name: entity.cloud_config.delete_form
base_route: entity.cloud_config.canonical
......@@ -39,11 +34,6 @@ entity.cloud_launch_template.delete_form:
class: '\Drupal\cloud\Plugin\Derivative\CloudLaunchTemplateTab'
title: 'Delete'
entity.cloud_launch_template.version_history:
route_name: entity.cloud_launch_template.version_history
base_route: entity.cloud_launch_template.canonical
title: 'Revisions'
entity.cloud_launch_template.launch:
route_name: entity.cloud_launch_template.launch
base_route: entity.cloud_launch_template.canonical
......@@ -72,11 +62,6 @@ entity.cloud_project.delete_form:
class: '\Drupal\cloud\Plugin\Derivative\CloudProjectTab'
title: 'Delete'
entity.cloud_project.version_history:
route_name: entity.cloud_project.version_history
base_route: entity.cloud_project.canonical
title: 'Revisions'
entity.cloud_project.launch:
route_name: entity.cloud_project.launch
base_route: entity.cloud_project.canonical
......
......@@ -15,10 +15,11 @@ use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Locale\CountryManager;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Url;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\views\ViewExecutable;
use Drupal\cloud\Entity\CloudConfig;
use Drupal\cloud\Entity\CloudLaunchTemplateInterface;
use Drupal\field\Entity\FieldStorageConfig;
use Drupal\views\ViewExecutable;
use Drupal\views\Views;
/**
* Implements hook_cron().
......@@ -142,6 +143,27 @@ function cloud_views_pre_render(ViewExecutable $view): void {
}
}
}
if (!empty($view->empty)) {
return;
}
$view->style_plugin->options['empty_table'] = TRUE;
$options = [
'id' => 'area',
'table' => 'views',
'field' => 'area',
'label' => '',
'relationship' => 'none',
'group_type' => 'group',
'empty' => TRUE,
'content' => [
'value' => t('No items.'),
'format' => filter_default_format(),
],
];
$handler = Views::handlerManager('area')->getHandler($options);
$handler->init($view, $view->display_handler, $options);
$view->empty['area'] = $handler;
}
/**
......@@ -252,23 +274,16 @@ function cloud_library_info_alter(&$libraries, $extension): void {
$libraries['select2']['js'] = [];
$libraries['select2']['css']['theme'] = [];
$libraries['d3']['js'][trim($config->get('cloud_custom_d3_js_url'))] = [];
$libraries['d3-horizon-chart']['js'][trim($config->get('cloud_custom_d3_horizon_chart_js_url'))] = [];
$libraries['c3']['js'][trim($config->get('cloud_custom_c3_js_url'))] = [];
$libraries['c3']['css']['theme'][trim($config->get('cloud_custom_c3_css_url'))] = [];
$libraries['chartjs']['js'][trim($config->get('cloud_custom_chart_js_url'))] = [];
$libraries['select2']['js'][trim($config->get('cloud_custom_select2_js_url'))] = [];
$libraries['select2']['css']['theme'][trim($config->get('cloud_custom_select2_css_url'))] = [];
$libraries['datatables']['js'][trim($config->get('cloud_custom_datatables_js_url'))] = [];
$libraries['d3']['js'][trim($config->get('cloud_custom_d3_js_url') ?: '')] = [];
$libraries['d3-horizon-chart']['js'][trim($config->get('cloud_custom_d3_horizon_chart_js_url') ?: '')] = [];
$libraries['c3']['js'][trim($config->get('cloud_custom_c3_js_url') ?: '')] = [];
$libraries['c3']['css']['theme'][trim($config->get('cloud_custom_c3_css_url') ?: '')] = [];
$libraries['chartjs']['js'][trim($config->get('cloud_custom_chart_js_url') ?: '')] = [];
$libraries['select2']['js'][trim($config->get('cloud_custom_select2_js_url') ?: '')] = [];
$libraries['select2']['css']['theme'][trim($config->get('cloud_custom_select2_css_url') ?: '')] = [];
$libraries['datatables']['js'][trim($config->get('cloud_custom_datatables_js_url') ?: '')] = [];
}
}
// Reroute the page_load_progress JS/CSS if the module exists.
if ($extension === 'page_load_progress' && \Drupal::moduleHandler()->moduleExists('page_load_progress')) {
$new_path = '/' . \Drupal::service('extension.path.resolver')->getPath('module', 'cloud');
unset($libraries['page_load_progress']['js'], $libraries['page_load_progress']['css']);
$libraries['page_load_progress']['js'][$new_path . '/js/page_load_progress.js'] = [];
$libraries['page_load_progress']['css']['theme'][$new_path . '/css/page_load_progress.theme.css'] = [];
}
}
/**
......@@ -342,7 +357,7 @@ function cloud_preprocess_input__number(array &$variables): void {
*
* @see options_allowed_values()
*/
function cloud_location_country_allowed_values_function(FieldStorageConfig $definition = NULL, ContentEntityInterface $entity = NULL, $cacheable = FALSE): array {
function cloud_location_country_allowed_values_function(?FieldStorageConfig $definition = NULL, ?ContentEntityInterface $entity = NULL, bool $cacheable = FALSE): array {
return CountryManager::getStandardList();
}
......@@ -416,7 +431,7 @@ function cloud_preprocess_menu(&$variables): void {
* The field definition.
* @param \Drupal\Core\Entity\ContentEntityInterface|null $entity
* The entity being created if applicable.
* @param bool $cacheable
* @param bool|null $cacheable
* Boolean indicating if the results are cacheable.
*
* @return array
......@@ -424,7 +439,7 @@ function cloud_preprocess_menu(&$variables): void {
*
* @see options_allowed_values()
*/
function cloud_launch_template_workflow_status_allowed_values_function(FieldStorageConfig $definition, ContentEntityInterface $entity = NULL, $cacheable): array {
function cloud_launch_template_workflow_status_allowed_values_function(FieldStorageConfig $definition, ?ContentEntityInterface $entity = NULL, ?bool $cacheable = NULL): array {
$account = \Drupal::currentUser();
$allowed_values = [
......@@ -512,6 +527,7 @@ function cloud_user_predelete($account): void {
$cloud_store_ids = \Drupal::entityTypeManager()
->getStorage('cloud_store')
->getQuery()
->accessCheck(TRUE)
->condition('uid', $account->id())
->execute();
......
......@@ -273,6 +273,10 @@ administer cloud:
title: 'Administer Cloud settings'
description: 'Perform administration tasks for Cloud.'
update resource list:
title: 'Update resource list'
description: 'Allow users to update resource list.'
################################
# Cloud launch template workflow
################################
......
......@@ -161,6 +161,46 @@ entity.cloud_launch_template.delete:
options:
perm: 'edit any cloud server templates+edit own cloud server templates'
entity.cloud_launch_template.delete_multiple:
path: '/cloud_dashboard/{cloud_service_provider}/{cloud_context}/cloud_launch_template/delete_multiple'
defaults:
_controller: '\Drupal\cloud\Controller\ApiController::operateEntities'
entity_type_id: cloud_launch_template
command: delete
methods: [POST]
requirements:
# Use custom access that will check for cloud_context and the desired permission.
# Desired permission is passed as an option in the "perm" variable
_custom_access: '\Drupal\cloud\Controller\CloudConfigController::access'
options:
perm: 'edit any cloud server templates+edit own cloud server templates'
entity.cloud_launch_template.launch_rest:
path: '/cloud_dashboard/{cloud_service_provider}/{cloud_context}/cloud_launch_template/{entity_id}/launch'
defaults:
_controller: '\Drupal\cloud\Controller\ApiController::operateEntity'
entity_type_id: cloud_launch_template
command: launch
methods: [POST]
requirements:
# Use custom access that will check for cloud_context and the desired permission.
# Desired permission is passed as an option in the "perm" variable
_custom_access: '\Drupal\cloud\Controller\CloudLaunchTemplateController::launchAccess'
options:
perm: 'launch cloud server template+launch approved cloud server template'
entity.cloud_launch_template.flavors:
path: '/cloud_dashboard/{cloud_service_provider}/{cloud_context}/cloud_launch_template/{entity_id}/flavors'
defaults:
_controller: '\Drupal\cloud\Controller\ApiController::getFlavorOptions'
methods: [GET]
requirements:
# Use custom access that will check for cloud_context and the desired permission.
# Desired permission is passed as an option in the "perm" variable
_custom_access: '\Drupal\cloud\Controller\CloudConfigController::access'
options:
perm: 'access dashboard'
# Cloud project entity view route
entity.cloud_project.canonical:
path: '/clouds/design/project/{cloud_context}/{cloud_project}'
......@@ -198,7 +238,7 @@ entity.cloud_launch_template.collection.all:
requirements:
_permission: 'list cloud server template'
# Cloud project Type Form
# Cloud project Type Form
entity.cloud_project.add_form:
path: '/clouds/design/project/{cloud_context}/{cloud_project_type}/add'
defaults:
......@@ -257,7 +297,7 @@ entity.cloud_store.canonical:
path: '/clouds/design/store/{cloud_store_type}/{cloud_store}'
defaults:
_entity_view: 'cloud_store'
_title: 'Store Content'
_title_callback: '\Drupal\Core\Entity\Controller\EntityController::title'
requirements:
_entity_access: 'cloud_store.view'
......@@ -326,3 +366,22 @@ cloud.settings:
_form: '\Drupal\cloud\Form\Config\CloudAdminSettings'
requirements:
_permission: 'administer cloud'
# Health Check API.
cloud.health_check:
path: '/health_check'
defaults:
_controller: '\Drupal\cloud\Controller\CloudHealthCheckController::healthCheck'
methods: [POST]
requirements:
# Public access.
_access: 'TRUE'
# List of visible manage menu links API.
cloud_dashboard.manage_menu.visible:
path: '/cloud_dashboard/manage_menu/visible'
defaults:
_controller: '\Drupal\cloud\Controller\ApiController::getVisibleManageMenuLinks'
methods: [GET]
requirements:
_permission: 'access dashboard'
{
"name": "drupal/cloud",
"description": "A Drupal module for integrating various cloud services.",
"type": "drupal-module",
"homepage": "https://drupal.org/project/cloud",
"license": "GPL-2.0-or-later",
"authors": [
{
"name": "DOCOMO Innovations, Inc.",
"homepage": "https://www.docomoinnovations.com",
"name": "Yas Naoi (yas)",
"homepage": "https://drupal.org/u/yas",
"role": "Maintainer"
},
{
"name": "Baldwin Louie (baldwinlouie)",
"homepage": "https://www.drupal.org/u/baldwinlouie",
"role": "Maintainer"
}
],
......@@ -17,36 +23,32 @@
},
"require": {
"aws/aws-sdk-php": "^3",
"drupal/rigel": "^6",
"drupal/bootstrap_cloud": "^6",
"drupal/bootstrap_cloud": "^7",
"drupal/geocoder": "^3 || ^4",
"drupal/simple_oauth": "^5",
"geocoder-php/nominatim-provider" : "^5",
"drupal/rigel": "^8",
"geocoder-php/nominatim-provider": "^5",
"google/apiclient": "^2",
"maclof/kubernetes-client": "^0.27",
"maclof/kubernetes-client": "^0.29",
"ext-json": "*"
},
"require-dev": {
"behat/mink": "*",
"behat/mink-goutte-driver": "*",
"composer/installers": "*",
"dealerdirect/phpcodesniffer-composer-installer": "*",
"drupal-composer/drupal-security-advisories": "^9",
"docomoinnovations/drupal-extension": "*",
"drupal-composer/drupal-security-advisories": "*",
"drupal/admin_toolbar": "*",
"drupal/coder": "*",
"docomoinnovations/drupal-extension": "^6",
"drupal/memcache": "^2",
"drupal/queue_ui": "*",
"drush/drush": "*",
"kint-php/kint": "*",
"phpspec/prophecy-phpunit": "*",
"mglaman/drupal-check": "*",
"phpunit/phpunit": "*",
"phpspec/prophecy-phpunit": "*",
"symfony/phpunit-bridge": "*"
},
"extra": {
"drush": {
"services": {
"drush.services.yml": "^11"
"drush.services.yml": "^12"
}
}
},
......
......@@ -13,3 +13,6 @@ cloud_use_default_urls: '1'
cloud_view_items_per_page: 50
cloud_view_expose_items_per_page: true
cloud_enable_queue_cleanup: true
cloud_use_spa: false
cloud_spa_key_directory: ''
cloud_spa_callback_url: ''
......@@ -18,8 +18,9 @@ display:
position: 0
display_options:
access:
type: none
options: { }
type: perm
options:
perm: 'list cloud store'
cache:
type: tag
options: { }
......
......@@ -31,3 +31,9 @@ cloud.settings:
type: boolean
cloud_enable_queue_cleanup:
type: boolean
cloud_use_spa:
type: boolean
cloud_spa_key_directory:
type: string
cloud_spa_callback_url:
type: string
.ansi-block {
background-color: black;
color: white;
background-color: black;
}
span.ansi.t0.f30 {
......
......@@ -59,16 +59,16 @@ use.multiple:hover {
}
.map_tooltip {
color: #fff;
background-color: #68c16c;
color: #ffffff;
}
.map_tooltip a {
color: #ffffff;
color: #fff;
font-size: 1.1em;
}
.map_tooltip a:hover {
color: #ffffff;
color: #fff;
}
.map_tooltip .location {
......@@ -77,6 +77,6 @@ use.multiple:hover {
font-size: 0.8em;
}
.map_tooltip .location .glyphicon:before {
.map_tooltip .location .glyphicon::before {
margin-right: 2px;
}