summaryrefslogtreecommitdiff
path: root/ci-prod-programs.ick
blob: dcddb0114df6d456379ea1e7be4514680d84c034 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
# I build most of my projects on Debian stretch (current stable) and
# unstable, both CI builds and releases. To avoid repetition, I define
# four dummy projects: {CI,release} on {stretch,unstable}. The dummy
# projects will never actually build.

projects:

# The base dummy project: CI builds for stretch. Other dummy projects
# will build upon this. This defines the common parameters and
# pipelines, which will be reused by "subclasses" via YAML magic.

- project: dummy-ci-stretch
  parameters: &dummy_stretch_params
    DEBFULLNAME: Lars Wirzenius
    DEBEMAIL: liw@liw.fi
    apt_sources:
      - url: http://ci-prod-controller.vm.liw.fi/debian
        dist: stretch-ci
        section: main
    systree_name: systrees-debian-stretch-build-essential
    distribution_ci: stretch-ci
    distribution_rel: stretch
    notify: [liw@liw.fi]
    release_signing_keys:
      - |
        -----BEGIN PGP PUBLIC KEY BLOCK-----

        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
        UWEJ
        =ZU/n
        -----END PGP PUBLIC KEY BLOCK-----
    apt_signing_pub_keys:
      code.liw.fi: |
        -----BEGIN PGP PUBLIC KEY BLOCK-----

        mQINBFrLO7kBEADdz6mHstYmKU5Dp6OSjxWtWaqTDOX1sJdmmaIK/9EKVIH0Maxp
        5kvVO5G6mULLAjv/kLG0MxasHPrq8I2A/y8AqKAGVL8QelwLjQMIFZ30/VbGQPHS
        +T5TZXEnoQtNce1GUhFwJ38ZyjjwHBFV9tSec7rZ2Q3YeM3nNnGPf6DacXGfEOPO
        HIN4sXAN2hzNXNjKRzTIvxQseb6nr7afUh/SlZ3yhQOCrIzmYlD7tP9WJe7ofL0p
        JY4pDQYw8rT6nC2BE/ioemh84kERCT1vCe+OVFlSRuMlqfEv+ZpKQ+itOmPDQ/lM
        jpUm1K2hrW/lWpxT/ZxHKo/w1K36J5WshgMZxfUu5BMCL9LMqMcrXNhNjDMfxDMM
        3yBPOvQ4ls6fecOZ/bsFo1p8VzMk/w/eG8vPs5yuNa5XxN95yFMXoOHGb5Xbu8D4
        6yiW+Af70LbiSNpGdmNdneiGB2fY38NxBukPw5u3S5qG8HedSmMr1RvSr5kHoAAe
        UbOY+BYaaKsTAT7+1skUW1o3FJSqoRKCHAzTsMWC6zzhR8hRn7jVrrguH1hGbqq5
        TZSCFQZExuTJ7uXrTLG0WoBXIjB5wWNcSeXn8myUWYB51nJNF4tJBouZOz9JwWGl
        kiAQkrHnBttLQWdW9FyjbIoTZMtpvVx+m6ObGTGdGL1cNlLAvWprMXGc+QARAQAB
        tDJJY2sgQVBUIHJlcG9zaXRvcnkgc2lnbmluZyBrZXkgKDIwMTgpIDxsaXdAbGl3
        LmZpPokCTgQTAQgAOBYhBKL1uyDoXyxUH3O717Wr+TZVS6PGBQJayzu5AhsDBQsJ
        CAcCBhUICQoLAgQWAgMBAh4BAheAAAoJELWr+TZVS6PGB5QQANTcikhRUHwt9N4h
        dGc/Hp6CbqdshMoWlwpFskttoVDxQG5OAobuZl5XyzGcmja1lT85RGkZFfbca0IZ
        LnXOLLSAu51QBkXNaj4OhjK/0uQ+ITrvL6RQSXNgHiUTR/W2XD1GIUq6nBqe2GSN
        31S1baYKKVj5QIMsi7Dq8ls3BBXuPCE+xTSaNmGWjes2t9pPidcRvxsksCLY1qgw
        P1GFXBeMkBQ29kBP87SUL15SIk7OiQLlEURCy5iRls5rt/YEsdEpRWIb0Tm5Nrjv
        2M3VM+iBhfNXTwj0rJ34mlycF1qQmA7YcTEobT7z587GPY0VWzBpQUnEQj7rQWPM
        cDYY0b+I6kQ8VKOaL4wVAtE98d7HzFIrIrwhTKufnrWrVDPYsmLZ+LPC1jiF7JBD
        SR6Vftb+SdDR9xoE1yRuXbC6IfoW+5/qQNrdQ2mm9BFw5jOonBqchs18HTTf3441
        6SWwP9fY3Vi+IZphPPi0Gf85oMStgnv/Wnw6LacEL32ek39Desero/D8iGLZernK
        Q2mC9mua5A/bYGVhsNWyURNFkKdbFa+/wW3NfdKYyZnsSfo+jJ2luNewrhAY7Kod
        GWXTer9RxzTGA3EXFGvNr+BBOOxSj0SfWTl0Olo7J5dnxof+jLAUS1VHpceHGHps
        GSJSdir7NkZidgwoCPA7BTqsb5LN
        =dXB0
        -----END PGP PUBLIC KEY BLOCK-----
      ci-prod: |
        -----BEGIN PGP PUBLIC KEY BLOCK-----

        mQINBFrLO7kBEADdz6mHstYmKU5Dp6OSjxWtWaqTDOX1sJdmmaIK/9EKVIH0Maxp
        5kvVO5G6mULLAjv/kLG0MxasHPrq8I2A/y8AqKAGVL8QelwLjQMIFZ30/VbGQPHS
        +T5TZXEnoQtNce1GUhFwJ38ZyjjwHBFV9tSec7rZ2Q3YeM3nNnGPf6DacXGfEOPO
        HIN4sXAN2hzNXNjKRzTIvxQseb6nr7afUh/SlZ3yhQOCrIzmYlD7tP9WJe7ofL0p
        JY4pDQYw8rT6nC2BE/ioemh84kERCT1vCe+OVFlSRuMlqfEv+ZpKQ+itOmPDQ/lM
        jpUm1K2hrW/lWpxT/ZxHKo/w1K36J5WshgMZxfUu5BMCL9LMqMcrXNhNjDMfxDMM
        3yBPOvQ4ls6fecOZ/bsFo1p8VzMk/w/eG8vPs5yuNa5XxN95yFMXoOHGb5Xbu8D4
        6yiW+Af70LbiSNpGdmNdneiGB2fY38NxBukPw5u3S5qG8HedSmMr1RvSr5kHoAAe
        UbOY+BYaaKsTAT7+1skUW1o3FJSqoRKCHAzTsMWC6zzhR8hRn7jVrrguH1hGbqq5
        TZSCFQZExuTJ7uXrTLG0WoBXIjB5wWNcSeXn8myUWYB51nJNF4tJBouZOz9JwWGl
        kiAQkrHnBttLQWdW9FyjbIoTZMtpvVx+m6ObGTGdGL1cNlLAvWprMXGc+QARAQAB
        tDJJY2sgQVBUIHJlcG9zaXRvcnkgc2lnbmluZyBrZXkgKDIwMTgpIDxsaXdAbGl3
        LmZpPokCTgQTAQgAOBYhBKL1uyDoXyxUH3O717Wr+TZVS6PGBQJayzu5AhsDBQsJ
        CAcCBhUICQoLAgQWAgMBAh4BAheAAAoJELWr+TZVS6PGB5QQANTcikhRUHwt9N4h
        dGc/Hp6CbqdshMoWlwpFskttoVDxQG5OAobuZl5XyzGcmja1lT85RGkZFfbca0IZ
        LnXOLLSAu51QBkXNaj4OhjK/0uQ+ITrvL6RQSXNgHiUTR/W2XD1GIUq6nBqe2GSN
        31S1baYKKVj5QIMsi7Dq8ls3BBXuPCE+xTSaNmGWjes2t9pPidcRvxsksCLY1qgw
        P1GFXBeMkBQ29kBP87SUL15SIk7OiQLlEURCy5iRls5rt/YEsdEpRWIb0Tm5Nrjv
        2M3VM+iBhfNXTwj0rJ34mlycF1qQmA7YcTEobT7z587GPY0VWzBpQUnEQj7rQWPM
        cDYY0b+I6kQ8VKOaL4wVAtE98d7HzFIrIrwhTKufnrWrVDPYsmLZ+LPC1jiF7JBD
        SR6Vftb+SdDR9xoE1yRuXbC6IfoW+5/qQNrdQ2mm9BFw5jOonBqchs18HTTf3441
        6SWwP9fY3Vi+IZphPPi0Gf85oMStgnv/Wnw6LacEL32ek39Desero/D8iGLZernK
        Q2mC9mua5A/bYGVhsNWyURNFkKdbFa+/wW3NfdKYyZnsSfo+jJ2luNewrhAY7Kod
        GWXTer9RxzTGA3EXFGvNr+BBOOxSj0SfWTl0Olo7J5dnxof+jLAUS1VHpceHGHps
        GSJSdir7NkZidgwoCPA7BTqsb5LN
        =dXB0
        -----END PGP PUBLIC KEY BLOCK-----
  pipelines: &deb_ci_pipelines
    - ick/setup_container
    - ick/add_apt_signing_keys
    - ick/add_apt_sources
    - ick/get_sources
    - ick/install_debian_build_dependencies
    - ick/build_deb_ci
    - ick/upload_debs

# Dummy base project for buster.

- project: dummy-ci-buster
  parameters: &dummy_buster_params
    <<: *dummy_stretch_params
    apt_sources:
      - url: http://ci-prod-controller.vm.liw.fi/debian
        dist: unstable-ci
        section: main
    systree_name: systrees-debian-buster-build-essential
    distribution_ci: unstable-ci
    distribution_rel: buster
  pipelines: *deb_ci_pipelines


# Dummy project to do CI builds on unstable (code name sid).

- project: dummy-ci-sid
  parameters: &dummy_sid_params
    <<: *dummy_stretch_params
    systree_name: systrees-debian-sid-build-essential
    distribution_ci: unstable-ci
    distribution_rel: unstable
    apt_sources:
      - url: http://ci-prod-controller.vm.liw.fi/debian
        dist: unstable-ci
        section: main
  pipelines: *deb_ci_pipelines

# Dummy project to do RELEASE builds on stretch.

- project: dummy-release-stretch
  parameters: &dummy_release_stretch_params
    <<: *dummy_stretch_params
    apt_sources:
      - url: http://ci-prod-controller.vm.liw.fi/debian
        dist: stretch
        section: main
  pipelines: &deb_release_pipelines
    - ick/setup_container
    - ick/add_apt_signing_keys
    - ick/add_apt_sources
    - ick/restore_workspace
    - ick/get_sources
    - ick/install_debian_build_dependencies
    - ick/build_debian_release
    - ick/archive_debian_release
    - ick/save_workspace

# Dummy project to do RELEASE builds on unstable.

- project: dummy-release-unstable
  parameters: &dummy_release_unstable_params
    <<: *dummy_stretch_params
    apt_sources:
      - url: http://ci-prod-controller.vm.liw.fi/debian
        dist: unstable
        section: main
  pipelines: *deb_release_pipelines

# Real projects follow. Each project is duplicated with a stretch and
# sid version, for CI, and for release.

- project: clab-ci-stretch
  parameters:
    <<: *dummy_stretch_params
    sources: &clab_sources
      - name: code
        repo: git://git.liw.fi/clab
        ref: master
        location: src
  pipelines: *deb_ci_pipelines

- project: clab-ci-sid
  parameters:
    <<: *dummy_sid_params
    sources: *clab_sources
  pipelines: *deb_ci_pipelines



- project: extrautils-ci-sid
  parameters:
    <<: *dummy_sid_params
    sources: &extrautils_sources
      - name: code
        repo: git://git.liw.fi/extrautils
        ref: main
        location: src
  pipelines: *deb_ci_pipelines



- project: jt-ci-sid
  parameters:
    <<: *dummy_sid_params
    sources: &jt_sources
      - name: code
        repo: git://git.liw.fi/jt
        ref: master
        location: src
  pipelines: *deb_ci_pipelines



- project: liw-automation-ci-sid
  parameters:
    <<: *dummy_sid_params
    sources: &liw_automation_sources
      - name: code
        repo: git://git.liw.fi/liw-automation
        ref: main
        location: src
  pipelines: *deb_ci_pipelines



- project: summain-rs-ci-sid
  parameters:
    <<: *dummy_buster_params
    sources: &summain_sources
      - name: code
        repo: git://git.liw.fi/summain-rs
        ref: main
        location: src
    workspace_name: summain-rs-sid
    rsync_src: publish
    rsync_target: ickliwfi@journal.liw.fi:/srv/http/summain.liw.fi
  pipelines:
    - ick/setup_container
    - ick/add_apt_signing_keys
    - ick/add_apt_sources
    - ick/get_sources
    - ick/install_debian_build_dependencies
    - rustup
    - build_deb_ci
    - ick/upload_debs
    - docgen_and_publish_subplots
    - ick/save_workspace



- project: vmadm-ci-sid
  parameters:
    <<: *dummy_buster_params
    sources: &vmadm_sources
      - name: code
        repo: git://git.liw.fi/vmadm
        ref: fix
        location: src
    workspace_name: vmadm
    rsync_src: publish
    rsync_target: ickliwfi@http.liw.fi:/srv/http/vmadm.liw.fi
  pipelines:
    - ick/setup_container
    - ick/add_apt_signing_keys
    - ick/add_apt_sources
    - ick/restore_workspace
    - ick/get_sources
    - ick/install_debian_build_dependencies
    - rustup
    - build_rust_project_as_deb
    - ick/upload_debs
    - docgen_and_publish_subplots
    - ick/save_workspace


- project: ewww-ci-sid
  parameters:
    <<: *dummy_buster_params
    sources: &ewww_sources
      - name: code
        repo: git://git.liw.fi/ewww
        ref: main
        location: src
    rsync_src: publish
    rsync_target: ickliwfi@journal.liw.fi:/srv/http/ewww.liw.fi
  pipelines:
    - ick/setup_container
    - ick/add_apt_signing_keys
    - ick/add_apt_sources
    - ick/get_sources
    - ick/install_debian_build_dependencies
    - build_deb_ci
    - ick/upload_debs
    - docgen_and_publish_subplots



# No vmdb2 stretch build. It doesn't build there.

- project: vmdb2-ci-sid
  parameters:
    <<: *dummy_sid_params
    systree_name: systrees-debian-buster-build-essential
    sources:
      - name: code
        repo: git://git.liw.fi/vmdb2
        ref: main
        location: src
      - name: debian
        repo: git://git.liw.fi/vmdb2
        ref: debian/unstable
        location: src/debian
  pipelines:
    - vmdb2_trigger_manual
    - ick/setup_container
    - ick/add_apt_signing_keys
    - ick/add_apt_sources
    - ick/get_sources
    - ick/install_debian_build_dependencies
    - ick/build_deb_ci
    - ick/upload_debs

pipelines:

-   pipeline: vmdb2_trigger_manual
    actions:
      - where: container
        shell: |
          DEBIAN_FRONTEND=noninteractive apt-get update
          DEBIAN_FRONTEND=noninteractive apt-get install -y curl
          curl -s https://ci-prod-controller.vm.liw.fi/projects/vmdb2-manual/+trigger

-   pipeline: build_deb_ci
    parameters:
      - sources
      - distribution_ci
    actions:

      - where: container
        shell: |
          rm -rf ick-helpers
          git clone git://git.liw.fi/ick-helpers

      - where: container
        shell: |
          export HOME=/workspace
          . "$HOME/.cargo/env"
          rustc --version

          cd src
          DIST="$(dpkg-parsechangelog -SDistribution)"
          SRC="$(dpkg-parsechangelog -SSource)"
          DEBVER="$(dpkg-parsechangelog -SVersion)"
          USVER="$(echo "$DEBVER" | sed 's/-[^-]*$//').0ci${BUILD_NUMBER}"
          FULLVER="${USVER}-1.0ci.${DIST}"

          git archive HEAD | gzip > ../"${SRC}_${USVER}.orig.tar.gz"
          dch --no-conf -v "$FULLVER" -D "$DIST-ci" --force-distribution "CI build"
          cat debian/changelog
          dpkg-buildpackage -us -uc -sa
          ls -l /workspace
          echo build step ends: stdout
          echo build step ends: stderr 1>&2

- pipeline: docgen_and_publish_subplots
  parameters:
    - rsync_src
    - rsync_target
  actions:
    - where: container
      shell: |
        apt-get update
        apt-get install -y subplot \
          pandoc-citeproc \
          texlive-latex-base \
          texlive-latex-recommended \
          texlive-fonts-recommended \
          plantuml

        cd src
        for md in *.md
        do
          if sp-meta "$md" | grep 'title: .' > /dev/null &&
             sp-meta "$md" | grep 'scenario: .' > /dev/null
          then
             sp-docgen "$md" -o "$(basename "$md" .md).html"
             sp-docgen "$md" -o "$(basename "$md" .md).pdf"
          fi
        done

        mkdir -p /workspace/publish
        install -m 0644 *.html *.pdf /workspace/publish

    - where: host
      action: rsync
 
- pipeline: build_rust_project_as_deb
  actions:
    # - where: container
    #   shell: |
    #     export HOME=/workspace
    #     export PATH="$HOME/.cargo/bin:$PATH"
    #     export TMPDIR=/workspace

    #     cd /workspace/src

    #     echo looking for new releases to build

    #     [ -e /workspace/built_tags ] && cat /workspace/built_tags
    #     git tag -l
    #     python3 ./list_new_release_tags /workspace/built_tags > /workspace/new_tags
    #     [ -e /workspace/built_tags ] && cat /workspace/built_tags
    #     cat /workspace/new_tags

    #     cat /workspace/new_tags | while read tag
    #     do
    #       echo ----------------------------------------
    #       echo "New release tag: $tag"
    #       # bash ./build_release_deb.sh /workspace "$tag"
    #       echo "Finished building tag $tag"
    #     done
    #     echo ========================================
    #     echo "Finished building release debs (if any)"

    - where: container
      shell: |
        ls -la /workspace

        export HOME=/workspace
        export PATH="$HOME/.cargo/bin:$PATH"
        export TMPDIR=/workspace

        rustup show
        rustup default stable
        type rustc
        rustc --version

        dpkg -l subplot
        type sp-docgen

        cd /workspace/src
        git clean -fdxq -e target

        name="$(dpkg-parsechangelog -S Source)"
        distribution="$(dpkg-parsechangelog -S Distribution)"
        version="$(dpkg-parsechangelog -S Version)"

        case "$version" in
          *-*)
            upstream="$(echo "$version" | sed 's/-[^-]*$//')"
            debian="$(echo "$version" | sed 's/^.*-//')"
            ;;
          *)
            upstream="$version"
            debian=0
            ;;
        esac

        upstream="${upstream}.ci0.${BUILD_NUMBER}"
        civersion="${upstream}-${debian}"

        rm -f ../*_*.*
        git clean -fdx -e target
        git archive HEAD | xz > "../${name}_${upstream}.orig.tar.xz"
        dch --no-conf -v "$civersion" -D "${distribution}-ci" --force-distribution "CI build"
        dpkg-buildpackage -us -uc -sa

        echo looking for new releases to build

        ls -l /workspace
        [ -e /workspace/built_tags ] && cat /workspace/built_tags
        git tag -l
        python3 ./list_new_release_tags /workspace/built_tags > /workspace/new_tags
        [ -e /workspace/built_tags ] && cat /workspace/built_tags
        cat /workspace/new_tags

        cat /workspace/new_tags | while read tag
        do
          echo ----------------------------------------
          echo "New release tag: $tag"
          bash ./build_release_deb.sh /workspace "$tag"
          echo "Finished building tag $tag"
        done
        echo ========================================
        echo "Finished building release debs (if any)"