FIX vpp-csit-verify jobs
[ci-management.git] / jjb / vpp / vpp.yaml
1 ---
2 - project:
3     name: vpp
4     jobs:
5         - 'vpp-verify-{stream}-{os}'
6         - 'vpp-merge-{stream}-{os}'
7         - 'vpp-docs-merge-{stream}'
8         - 'vpp-docs-verify-{stream}'
9         - 'vpp-make-test-docs-merge-{stream}'
10         - 'vpp-make-test-docs-verify-{stream}'
11         - 'vpp-promote-{stream}-{os}'
12         - 'vpp-cpoc-verify-{stream}-{os}'
13
14     project: 'vpp'
15     os:
16       - ubuntu1604:
17           repo-os-part: 'ubuntu.xenial.main'
18       - centos7:
19           repo-os-part: 'centos7'
20       - opensuse:
21           repo-os-part: 'opensuse'
22
23     stream:
24         - master:
25             branch: 'master'
26             repo-stream-part: 'master'
27         - '1710':
28             branch: 'stable/1710'
29             repo-stream-part: 'stable.1710'
30         - '1801':
31             branch: 'stable/1801'
32             repo-stream-part: 'stable.1801'
33     type:
34         - short
35         - long
36
37 - project:
38     name: vpp-misc
39     jobs:
40         - 'vpp-csit-verify-virl-{stream}'
41         - 'vpp-csit-verify-hw-perf-{stream}'
42     project: 'vpp'
43     stream:
44         - master:
45             branch: 'master'
46             repo-stream-part: 'master'
47         - '1710':
48             branch: 'stable/1710'
49             repo-stream-part: 'stable.1710'
50         - '1801':
51             branch: 'stable/1801'
52             repo-stream-part: 'stable.1801'
53     os: ubuntu1604
54
55
56 - job-template:
57     name: 'vpp-verify-{stream}-{os}'
58
59     project-type: freestyle
60     node: '{os}-basebuild-8c-32g'
61     concurrent: true
62
63     logrotate:
64         daysToKeep: '{build-days-to-keep}'
65         numToKeep: '{build-num-to-keep}'
66         artifactDaysToKeep: '{build-artifact-days-to-keep}'
67         artifactNumToKeep: '{build-artifact-num-to-keep}'
68
69     parameters:
70         - project-parameter:
71             project: '{project}'
72         - gerrit-parameter:
73             branch: '{branch}'
74         - os-parameter:
75             os: '{os}'
76         - repo-name-parameter:
77             repo-name: '{repo-stream-part}.{repo-os-part}'
78
79     scm:
80         - gerrit-trigger-scm:
81             credentials-id: 'jenkins-gerrit-credentials'
82             refspec: '$GERRIT_REFSPEC'
83             choosing-strategy: 'gerrit'
84
85     wrappers:
86         - fdio-infra-wrappers:
87             build-timeout: '{build-timeout}'
88
89     triggers:
90         - gerrit-trigger-trivial-patch-submitted:
91             name: '{project}'
92             branch: '{branch}'
93
94     builders:
95         - shell:
96             !include-raw-escape: include-raw-vpp-checkstyle.sh
97         - shell:
98             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
99         - shell:
100             !include-raw-escape:
101                 - ../scripts/setup_vpp_dpdk_dev_env.sh
102                 - include-raw-vpp-build.sh
103     publishers:
104         - archive:
105             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
106             allow-empty: 'true'
107             fingerprint: false
108             only-if-success: true
109             default-excludes: false
110         - fdio-infra-shiplogs:
111             maven-version: 'mvn33-new'
112             archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
113
114 - job-template:
115     name: 'vpp-merge-{stream}-{os}'
116
117     project-type: freestyle
118     node: '{os}-basebuild-8c-32g'
119
120     logrotate:
121         daysToKeep: '{build-days-to-keep}'
122         numToKeep: '{build-num-to-keep}'
123         artifactDaysToKeep: '{build-artifact-days-to-keep}'
124         artifactNumToKeep: '{build-artifact-num-to-keep}'
125
126     parameters:
127         - project-parameter:
128             project: '{project}'
129         - gerrit-parameter:
130             branch: '{branch}'
131         - os-parameter:
132             os: '{os}'
133         - maven-project-parameter:
134             maven: 'mvn33-new'
135         - maven-exec:
136             maven-version: 'mvn33-new'
137         - stream-parameter:
138             stream: '{stream}'
139         - repo-name-parameter:
140             repo-name: '{repo-stream-part}.{repo-os-part}'
141
142     scm:
143         - gerrit-trigger-scm:
144             credentials-id: 'jenkins-gerrit-credentials'
145             refspec: ''
146             choosing-strategy: 'default'
147
148     wrappers:
149         - fdio-infra-wrappers:
150             build-timeout: '{build-timeout}'
151
152     triggers:
153         - gerrit-trigger-patch-merged:
154             name: '{project}'
155             branch: '{branch}'
156
157     builders:
158         - config-file-provider:
159             files:
160               - file-id: '.packagecloud'
161                 target: '/home/jenkins'
162         - config-file-provider:
163             files:
164               - file-id: 'packagecloud_api'
165                 target: '/home/jenkins'
166         - maven-target:
167             maven-version: 'mvn33-new'
168             goals: '--version'
169             settings: 'vpp-settings'
170             settings-type: cfp
171             global-settings: 'global-settings'
172             global-settings-type: cfp
173         - shell:
174             !include-raw-escape: include-raw-vpp-checkstyle.sh
175         - shell:
176             !include-raw-escape:
177                 - ../scripts/setup_vpp_dpdk_dev_env.sh
178                 - include-raw-vpp-build.sh
179         - provide-maven-settings:
180             settings-file: 'vpp-settings'
181             global-settings-file: 'global-settings'
182         - shell:
183             !include-raw-escape:
184                 - ../scripts/maven_push_functions.sh
185                 - include-raw-vpp-maven-push.sh
186         - shell:
187             !include-raw-escape:
188                 - ../scripts/packagecloud_push.sh
189
190     publishers:
191         - archive:
192             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
193             allow-empty: 'true'
194             fingerprint: false
195             only-if-success: true
196             default-excludes: false
197         - fdio-infra-shiplogs:
198             maven-version: 'mvn33-new'
199
200 - job-template:
201     name: 'vpp-csit-verify-virl-{stream}'
202
203     project-type: freestyle
204     node: '{os}-basebuild-8c-32g'
205     concurrent: true
206
207     logrotate:
208         daysToKeep: '{build-days-to-keep}'
209         numToKeep: '{build-num-to-keep}'
210         artifactDaysToKeep: '{build-artifact-days-to-keep}'
211         artifactNumToKeep: '{build-artifact-num-to-keep}'
212
213     parameters:
214         - project-parameter:
215             project: '{project}'
216         - gerrit-parameter:
217             branch: '{branch}'
218         - os-parameter:
219             os: '{os}'
220         - repo-name-parameter:
221             repo-name: '{repo-stream-part}.ubuntu.xenial.main'
222         - is-csit-vpp-job-parameter:
223             is-csit-vpp-job: 'True'
224
225     scm:
226         - gerrit-trigger-scm:
227             credentials-id: 'jenkins-gerrit-credentials'
228             refspec: '$GERRIT_REFSPEC'
229             choosing-strategy: 'gerrit'
230
231     wrappers:
232         - fdio-infra-wrappers:
233             build-timeout: '{build-timeout}'
234
235     triggers:
236         - gerrit-trigger-patch-submitted:
237             name: '{project}'
238             branch: '{branch}'
239
240     builders:
241         - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
242         - inject:
243             properties-file: variables.prop
244         - shell:
245             !include-raw-escape:
246                 - include-raw-vpp-checkstyle.sh
247         - shell:
248             !include-raw-escape:
249                 - ../scripts/setup_vpp_ubuntu_docker_test.sh
250                 - ../scripts/setup_vpp_dpdk_dev_env.sh
251                 - include-raw-vpp-build.sh
252         - shell:
253             !include-raw-escape:
254                 - include-raw-vpp-csit-functional.sh
255
256     publishers:
257         - archive-artifacts:
258             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
259             latest-only: false
260
261         - robot-report:
262             output-path: 'csit'
263
264         - fdio-infra-shiplogs:
265             maven-version: 'mvn33-new'
266
267 - job-template:
268     name: 'vpp-csit-verify-hw-perf-{stream}'
269
270     project-type: freestyle
271     node: '{os}-basebuild-8c-32g'
272     concurrent: false
273
274     logrotate:
275         daysToKeep: '{build-days-to-keep}'
276         numToKeep: '{build-num-to-keep}'
277         artifactDaysToKeep: '{build-artifact-days-to-keep}'
278         artifactNumToKeep: '{build-artifact-num-to-keep}'
279
280     parameters:
281         - project-parameter:
282             project: '{project}'
283         - gerrit-parameter:
284             branch: '{branch}'
285         - os-parameter:
286             os: '{os}'
287         - repo-name-parameter:
288             repo-name: '{repo-stream-part}.ubuntu.xenial.main'
289         - is-csit-vpp-job-parameter:
290             is-csit-vpp-job: 'True'
291
292     scm:
293         - gerrit-trigger-scm:
294             credentials-id: 'jenkins-gerrit-credentials'
295             refspec: '$GERRIT_REFSPEC'
296             choosing-strategy: 'gerrit'
297
298     wrappers:
299         - fdio-infra-wrappers-non-activity-timeout:
300             build-timeout: 30
301
302     triggers:
303         - gerrit:
304             server-name: 'Primary'
305             trigger-on:
306                 - comment-added-contains-event:
307                     comment-contains-value: 'vpp-verify-perf-l2'
308                 - comment-added-contains-event:
309                     comment-contains-value: 'vpp-verify-perf-ip4'
310                 - comment-added-contains-event:
311                     comment-contains-value: 'vpp-verify-perf-ip6'
312                 - comment-added-contains-event:
313                     comment-contains-value: 'vpp-verify-perf-lisp'
314                 - comment-added-contains-event:
315                     comment-contains-value: 'vpp-verify-perf-vxlan'
316                 - comment-added-contains-event:
317                     comment-contains-value: 'vpp-verify-perf-vhost'
318                 - comment-added-contains-event:
319                     comment-contains-value: 'vpp-verify-perf-acl'
320                 - comment-added-contains-event:
321                     comment-contains-value: 'vpp-verify-perf-memif'
322                 - comment-added-contains-event:
323                     comment-contains-value: 'vpp-verify-perf-ipsechw'
324             projects:
325               - project-compare-type: 'ANT'
326                 project-pattern: '{project}'
327                 branches:
328                   - branch-compare-type: 'ANT'
329                     branch-pattern: '**/{branch}'
330             skip-vote:
331                 successful: false
332                 failed: false
333                 unstable: false
334                 notbuilt: false
335
336     builders:
337         - shell: 'echo "VPP_BRANCH={branch}" > $WORKSPACE/variables.prop'
338         - inject:
339             properties-file: variables.prop
340         - shell:
341             !include-raw-escape:
342                 - ../scripts/setup_vpp_dpdk_dev_env.sh
343                 - include-raw-vpp-build.sh
344         - shell:
345             !include-raw-escape:
346                 - include-raw-vpp-csit-verify-perf.sh
347
348     publishers:
349         - archive-artifacts:
350             artifacts: 'csit/report.html, csit/log.html, csit/output.xml'
351             latest-only: false
352
353         - robot-report:
354             output-path: 'csit'
355
356         - fdio-infra-shiplogs:
357             maven-version: 'mvn33-new'
358
359 - parameter:
360     name: type-parameter
361
362     parameters:
363         - string:
364             name: TYPE
365             default: '{type}'
366             description: "TYPE parameter if not given by trigger"
367
368 - job-template:
369     name: 'vpp-docs-verify-{stream}'
370
371     project-type: freestyle
372     node: ubuntu1604-basebuild-8c-32g
373     concurrent: true
374
375     logrotate:
376         daysToKeep: '{build-days-to-keep}'
377         numToKeep: '{build-num-to-keep}'
378         artifactDaysToKeep: '{build-artifact-days-to-keep}'
379         artifactNumToKeep: '{build-artifact-num-to-keep}'
380
381     parameters:
382         - project-parameter:
383             project: '{project}'
384         - gerrit-parameter:
385             branch: '{branch}'
386         - os-parameter:
387             os: 'ubuntu1604'
388         - maven-exec:
389             maven-version: 'mvn33-new'
390
391     scm:
392         - gerrit-trigger-scm:
393             credentials-id: 'jenkins-gerrit-credentials'
394             refspec: '$GERRIT_REFSPEC'
395             choosing-strategy: 'gerrit'
396
397     wrappers:
398         - fdio-infra-wrappers:
399             build-timeout: '{build-timeout}'
400
401     triggers:
402         - gerrit-trigger-patch-submitted:
403             name: '{project}'
404             branch: '{branch}'
405
406     builders:
407         - maven-target:
408             maven-version: 'mvn33-new'
409             goals: '--version'
410             settings: 'vpp-settings'
411             settings-type: cfp
412             global-settings: 'global-settings'
413             global-settings-type: cfp
414         - provide-maven-settings:
415             settings-file: 'vpp-settings'
416             global-settings-file: 'global-settings'
417         - shell:
418             !include-raw-escape: include-raw-vpp-docs.sh
419     publishers:
420         - archive:
421             artifacts: 'build-root/docs/html/*'
422             allow-empty: 'true'
423             fingerprint: false
424             only-if-success: true
425             default-excludes: false
426         - fdio-infra-shiplogs:
427             maven-version: 'mvn33-new'
428
429 - job-template:
430     name: 'vpp-docs-merge-{stream}'
431
432     project-type: freestyle
433     node: ubuntu1604-basebuild-8c-32g
434     concurrent: true
435
436     logrotate:
437         daysToKeep: '{build-days-to-keep}'
438         numToKeep: '{build-num-to-keep}'
439         artifactDaysToKeep: '{build-artifact-days-to-keep}'
440         artifactNumToKeep: '{build-artifact-num-to-keep}'
441
442     parameters:
443         - project-parameter:
444             project: '{project}'
445         - gerrit-parameter:
446             branch: '{branch}'
447         - os-parameter:
448             os: 'ubuntu1604'
449         - maven-exec:
450             maven-version: 'mvn33-new'
451
452     scm:
453         - gerrit-trigger-scm:
454             credentials-id: 'jenkins-gerrit-credentials'
455             refspec: ''
456             choosing-strategy: 'default'
457
458     wrappers:
459         - fdio-infra-wrappers:
460             build-timeout: '{build-timeout}'
461
462     triggers:
463         - reverse:
464             jobs: 'vpp-merge-{stream}-ubuntu1604'
465             result: 'success'
466         - gerrit:
467             server-name: 'Primary'
468             trigger-on:
469                 - comment-added-contains-event:
470                     comment-contains-value: 'run-docs'
471             projects:
472               - project-compare-type: 'ANT'
473                 project-pattern: '{project}'
474                 branches:
475                   - branch-compare-type: 'ANT'
476                     branch-pattern: '**/{branch}'
477             skip-vote:
478                 successful: true
479                 failed: true
480                 unstable: true
481                 notbuilt: true
482
483     builders:
484         - maven-target:
485             maven-version: 'mvn33-new'
486             goals: '--version'
487             settings: 'vpp-settings'
488             settings-type: cfp
489             global-settings: 'global-settings'
490             global-settings-type: cfp
491         - provide-maven-settings:
492             settings-file: 'vpp-settings'
493             global-settings-file: 'global-settings'
494         - shell:
495             !include-raw-escape: include-raw-vpp-docs.sh
496     publishers:
497         - archive:
498             artifacts: 'build-root/docs/html/*'
499             allow-empty: 'true'
500             fingerprint: false
501             only-if-success: true
502             default-excludes: false
503         - fdio-infra-shiplogs:
504             maven-version: 'mvn33-new'
505
506 - job-template:
507     name: 'vpp-make-test-docs-verify-{stream}'
508
509     project-type: freestyle
510     node: ubuntu1604-basebuild-8c-32g
511     concurrent: true
512
513     logrotate:
514         daysToKeep: '{build-days-to-keep}'
515         numToKeep: '{build-num-to-keep}'
516         artifactDaysToKeep: '{build-artifact-days-to-keep}'
517         artifactNumToKeep: '{build-artifact-num-to-keep}'
518
519     parameters:
520         - project-parameter:
521             project: '{project}'
522         - gerrit-parameter:
523             branch: '{branch}'
524         - os-parameter:
525             os: 'ubuntu1604'
526         - maven-exec:
527             maven-version: 'mvn33-new'
528
529     scm:
530         - gerrit-trigger-scm:
531             credentials-id: 'jenkins-gerrit-credentials'
532             refspec: '$GERRIT_REFSPEC'
533             choosing-strategy: 'gerrit'
534
535     wrappers:
536         - fdio-infra-wrappers:
537             build-timeout: '{build-timeout}'
538
539     triggers:
540         - gerrit-trigger-patch-submitted:
541             name: '{project}'
542             branch: '{branch}'
543
544     builders:
545         - maven-target:
546             maven-version: 'mvn33-new'
547             goals: '--version'
548             settings: 'vpp-settings'
549             settings-type: cfp
550             global-settings: 'global-settings'
551             global-settings-type: cfp
552         - provide-maven-settings:
553             settings-file: 'vpp-settings'
554             global-settings-file: 'global-settings'
555         - shell:
556             !include-raw-escape: include-raw-vpp-make-test-docs.sh
557     publishers:
558         - archive:
559             artifacts: 'build-root/test-doc/build/html/*'
560             allow-empty: 'true'
561             fingerprint: false
562             only-if-success: true
563             default-excludes: false
564         - fdio-infra-shiplogs:
565             maven-version: 'mvn33-new'
566
567 - job-template:
568     name: 'vpp-make-test-docs-merge-{stream}'
569
570     project-type: freestyle
571     node: ubuntu1604-basebuild-8c-32g
572     concurrent: true
573
574     logrotate:
575         daysToKeep: '{build-days-to-keep}'
576         numToKeep: '{build-num-to-keep}'
577         artifactDaysToKeep: '{build-artifact-days-to-keep}'
578         artifactNumToKeep: '{build-artifact-num-to-keep}'
579
580     parameters:
581         - project-parameter:
582             project: '{project}'
583         - gerrit-parameter:
584             branch: '{branch}'
585         - os-parameter:
586             os: 'ubuntu1604'
587         - maven-exec:
588             maven-version: 'mvn33-new'
589
590     scm:
591         - gerrit-trigger-scm:
592             credentials-id: 'jenkins-gerrit-credentials'
593             refspec: ''
594             choosing-strategy: 'default'
595
596     wrappers:
597         - fdio-infra-wrappers:
598             build-timeout: '{build-timeout}'
599
600     triggers:
601         - reverse:
602             jobs: 'vpp-merge-{stream}-ubuntu1604'
603             result: 'success'
604         - gerrit:
605             server-name: 'Primary'
606             trigger-on:
607                 - comment-added-contains-event:
608                     comment-contains-value: 'run-docs'
609             projects:
610               - project-compare-type: 'ANT'
611                 project-pattern: '{project}'
612                 branches:
613                   - branch-compare-type: 'ANT'
614                     branch-pattern: '**/{branch}'
615             skip-vote:
616                 successful: true
617                 failed: true
618                 unstable: true
619                 notbuilt: true
620
621     builders:
622         - maven-target:
623             maven-version: 'mvn33-new'
624             goals: '--version'
625             settings: 'vpp-settings'
626             settings-type: cfp
627             global-settings: 'global-settings'
628             global-settings-type: cfp
629         - provide-maven-settings:
630             settings-file: 'vpp-settings'
631             global-settings-file: 'global-settings'
632         - shell:
633             !include-raw-escape: include-raw-vpp-make-test-docs.sh
634     publishers:
635         - archive:
636             artifacts: 'build-root/test-doc/build/html/*'
637             allow-empty: 'true'
638             fingerprint: false
639             only-if-success: true
640             default-excludes: false
641         - fdio-infra-shiplogs:
642             maven-version: 'mvn33-new'
643
644 - job-template:
645     name: 'vpp-promote-{stream}-{os}'
646
647     project-type: freestyle
648     node: '{os}-basebuild-8c-32g'
649
650     logrotate:
651       daysToKeep: '{build-days-to-keep}'
652       numToKeep: '{build-num-to-keep}'
653       artifactDaysToKeep: '{build-artifact-days-to-keep}'
654       artifactNumToKeep: '{build-artifact-num-to-keep}'
655
656     parameters:
657       - project-parameter:
658           project: '{project}'
659       - gerrit-parameter:
660           branch: '{branch}'
661       - os-parameter:
662           os: '{os}'
663       - stream-parameter:
664           stream: '{stream}'
665       - repo-name-parameter:
666           repo-name: '{repo-stream-part}.{repo-os-part}'
667
668     scm:
669       - gerrit-trigger-scm:
670           credentials-id: 'jenkins-gerrit-credentials'
671           refspec: '$GERRIT_REFSPEC'
672           choosing-strategy: 'gerrit'
673
674     wrappers:
675       - fdio-infra-wrappers:
676           build-timeout: '{build-timeout}'
677
678     triggers:
679       - gerrit-trigger-manually-triggered:
680           name: '{project}'
681           branch: '{branch}'
682           comment-trigger-value: 'test-pkgcloud'
683
684     builders:
685       - config-file-provider:
686           files:
687             - file-id: '.packagecloud'
688               target: '/home/jenkins'
689       - config-file-provider:
690           files:
691             - file-id: 'packagecloud_api'
692               target: '/home/jenkins'
693       - shell:
694           !include-raw-escape: include-raw-vpp-checkstyle.sh
695       - shell:
696           !include-raw-escape: include-raw-vpp-test-checkstyle.sh
697       - shell:
698           !include-raw-escape:
699           - ../scripts/setup_vpp_dpdk_dev_env.sh
700           - include-raw-vpp-build.sh
701       - shell:
702           !include-raw-escape:
703           - ../scripts/packagecloud_promote.sh
704
705     publishers:
706       - fdio-infra-shiplogs:
707           maven-version: 'mvn33-new'
708
709 - job-template:
710     name: 'vpp-cpoc-verify-{stream}-{os}'
711
712     project-type: freestyle
713     node: '{os}-s'
714     concurrent: true
715
716     logrotate:
717         daysToKeep: '{build-days-to-keep}'
718         numToKeep: '{build-num-to-keep}'
719         artifactDaysToKeep: '{build-artifact-days-to-keep}'
720         artifactNumToKeep: '{build-artifact-num-to-keep}'
721
722     parameters:
723         - project-parameter:
724             project: '{project}'
725         - gerrit-parameter:
726             branch: '{branch}'
727         - os-parameter:
728             os: '{os}'
729         - repo-name-parameter:
730             repo-name: '{repo-stream-part}.{repo-os-part}'
731
732     scm:
733         - gerrit-trigger-scm:
734             credentials-id: 'jenkins-gerrit-credentials'
735             refspec: '$GERRIT_REFSPEC'
736             choosing-strategy: 'gerrit'
737
738     wrappers:
739         - fdio-infra-wrappers:
740             build-timeout: '{build-timeout}'
741
742     triggers:
743         - gerrit-trigger-manually-triggered:
744             name: '{project}'
745             branch: '{branch}'
746             comment-trigger-value: 'test-cpoc'
747         - gerrit-trigger-trivial-patch-submitted-skip-vote:
748             name: '{project}'
749             branch: '{branch}'
750
751     builders:
752         - shell:
753             !include-raw-escape: include-raw-vpp-checkstyle.sh
754         - shell:
755             !include-raw-escape: include-raw-vpp-test-checkstyle.sh
756         - shell:
757             !include-raw-escape:
758                 - ../scripts/setup_vpp_ubuntu_docker_test.sh
759                 - ../scripts/setup_vpp_dpdk_dev_env.sh
760                 - include-raw-vpp-build.sh
761     publishers:
762         - archive:
763             artifacts: 'build-root/*.rpm,build-root/*.deb,dpdk/*.rpm,dpdk/*.deb'
764             allow-empty: 'true'
765             fingerprint: false
766             only-if-success: true
767             default-excludes: false
768         - fdio-infra-shiplogs:
769             maven-version: 'mvn33-new'
770             archive-artifacts: '/tmp/vpp-failed-unittests/*/* **/core'
771         - naginator:
772             rerun-unstable-builds: true
773             max-failed-builds: 1
774             fixed-delay: 10
775
776