summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ci-prod-obnam.ick876
-rw-r--r--ci-prod-programs.ick1220
-rw-r--r--ci-prod-subplot.ick618
-rw-r--r--ci-prod-systrees.ick170
-rw-r--r--ci-prod-websites.ick884
5 files changed, 1884 insertions, 1884 deletions
diff --git a/ci-prod-obnam.ick b/ci-prod-obnam.ick
index 83990e9..d167c41 100644
--- a/ci-prod-obnam.ick
+++ b/ci-prod-obnam.ick
@@ -1,438 +1,438 @@
-projects:
-
- - project: obnam
- parameters:
- sources:
- - name: code
- repo: git://git.liw.fi/obnam2
- ref: main
- location: src
- apt_sources:
- - url: http://ci-prod-controller.vm.liw.fi/debian
- dist: unstable-ci
- section: main
- rsync_src: examples
- rsync_target: ickliwfi@http.liw.fi:/srv/http/doc.obnam.org
- DEBFULLNAME: Lars Wirzenius
- DEBEMAIL: liw@liw.fi
- systree_name: systrees-debian-buster-rust
- workspace_name: workspace-obnam
- distribution_ci: unstable-ci
- 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:
- - ick/setup_container
- - ick/add_apt_signing_keys
- - ick/add_apt_sources
- - ick/restore_workspace
- - ick/get_sources
- - rustup
- - ick/install_debian_build_dependencies
- - build_obnam_deb
- - ick/upload_debs
- - ick/save_workspace
-
-
-
-pipelines:
-
- - pipeline: rustup
- actions:
- - where: container
- shell: |
- export HOME=/workspace
- export PATH="$HOME/.cargo/bin:$PATH"
-
- if command -v rustup > /dev/null
- then
- touch -d yesterday rustup-timestamp
- if [ "$HOME/.cargo/bin/rustc" -ot rustup-timestamp ]
- then
- rustup update
- else
- echo nothing to do to update Rust with rustup
- fi
- else
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
- sh rustup.sh -y
- fi
-
- type --all rustc
-
- - pipeline: build_obnam_deb
- actions:
- # - where: container
- # shell: |
- # export HOME=/workspace
- # export PATH="$HOME/.cargo/bin:$PATH"
- # export TMPDIR=/workspace
-
- # cd /workspace/src
-
- # apt-get install -y sudo
- # adduser --disabled-password --gecos worker worker
- # chown -R worker:worker /workspace
- # rustup show
-
- # if ! sudo -u worker bash -x ./check --save-on-failure=fail.tar.gz "unreadable file"
- # then
- # rustc --version
- # cat test.log
- # tar tvf fail.tar.gz
- # exit 1
- # fi
-
- # name="$(dpkg-parsechangelog -S Source)"
- # version="$(dpkg-parsechangelog -S Version)"
- # distribution="$(dpkg-parsechangelog -S Distribution)"
-
- # 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"
-
- # rustc --version
- # rustup default stable
- # sudo -u worker rustup default stable
- # sudo -u worker rustc --version
- # sudo -u worker env "PATH=$PATH" dpkg-buildpackage -us -uc -sa || cat /tmp/subplot_*.diff.* 2>&1
-
- # apt-get update
- # apt-get install -y subplot \
- # pandoc-citeproc \
- # texlive-latex-base \
- # texlive-latex-recommended \
- # texlive-fonts-recommended \
- # plantuml
-
- # rm -f obnam.html obnam.pdf
- # sp-docgen obnam.md -o obnam.html
- # sp-docgen obnam.md -o obnam.pdf
- # install -d /workspace/examples
- # install -m 0644 obnam.html obnam.pdf /workspace/examples/.
-
- # # Build new releases.
- # echo ========================================
- # echo looking for new releases to
-
- # # TEMPORARILY get the latest release tag
- # rm -f /workspace/built_tags # FIXME
- # touch /workspace/built_tags # FIXME
- # python3 ./list_new_release_tags /workspace/built_tags
- # tac < /workspace/built_tags | tail +2 > foo
- # mv foo /workspace/built_tags
-
- # python3 ./list_new_release_tags /workspace/built_tags | while read tag
- # do
- # echo ----------------------------------------
- # echo "New release tag: $tag"
- # sudo -u worker env "PATH=$PATH" bash ./build_release_deb.sh /workspace "$tag"
- # echo "Finished building tag $tag"
- # done
- # echo ========================================
- # echo "Finished building release debs (if any)"
-
- - where: container
- shell: |
- export HOME=/workspace
- export PATH="$HOME/.cargo/bin:$PATH"
- export TMPDIR=/workspace
-
- cd /workspace/src
-
- apt-get install -y sudo
- adduser --disabled-password --gecos worker worker
-
- chown -R worker:worker /workspace
- sudo -u worker env "PATH=$PATH" rustup default stable
- sudo -u worker env "PATH=$PATH" rustup show
-
- sudo -u worker env "PATH=$PATH" rustc --version
- df -h
- sudo du -xhd1 /
-
- sudo -u worker env "PATH=$PATH" bash -x ./check
-
- name="$(dpkg-parsechangelog -S Source)"
- version="$(dpkg-parsechangelog -S Version)"
- distribution="$(dpkg-parsechangelog -S Distribution)"
-
- 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"
-
- rustc --version
- rustup default stable
- sudo -u worker env "PATH=$PATH" rustup default stable
- sudo -u worker env "PATH=$PATH" rustc --version
- sudo -u worker env "PATH=$PATH" dpkg-buildpackage -us -uc -sa || cat /tmp/subplot_*.diff.* 2>&1
-
- apt-get update
- apt-get install -y subplot \
- pandoc-citeproc \
- texlive-latex-base \
- texlive-latex-recommended \
- texlive-fonts-recommended \
- plantuml
-
- rm -f obnam.html obnam.pdf
- sp-docgen obnam.md -o obnam.html
- sp-docgen obnam.md -o obnam.pdf
- install -d /workspace/examples
- install -m 0644 obnam.html obnam.pdf /workspace/examples/.
-
- # # Build new releases.
- # echo ========================================
- # echo looking for new releases to build
-
- # # TEMPORARILY get the latest release tag
- # rm -f /workspace/built_tags # FIXME
- # touch /workspace/built_tags # FIXME
- # python3 ./list_new_release_tags /workspace/built_tags
- # tac < /workspace/built_tags | tail +2 > foo
- # mv foo /workspace/built_tags
-
- # python3 ./list_new_release_tags /workspace/built_tags | while read tag
- # do
- # echo ----------------------------------------
- # echo "New release tag: $tag"
- # sudo -u worker env "PATH=$PATH" bash ./build_release_deb.sh /workspace "$tag"
- # echo "Finished building tag $tag"
- # done
- # echo ========================================
- # echo "Finished building release debs (if any)"
-
- - action: rsync
- where: host
+# projects:
+#
+# - project: obnam
+# parameters:
+# sources:
+# - name: code
+# repo: git://git.liw.fi/obnam2
+# ref: main
+# location: src
+# apt_sources:
+# - url: http://ci-prod-controller.vm.liw.fi/debian
+# dist: unstable-ci
+# section: main
+# rsync_src: examples
+# rsync_target: ickliwfi@http.liw.fi:/srv/http/doc.obnam.org
+# DEBFULLNAME: Lars Wirzenius
+# DEBEMAIL: liw@liw.fi
+# systree_name: systrees-debian-buster-rust
+# workspace_name: workspace-obnam
+# distribution_ci: unstable-ci
+# notify: [liw@liw.fi]
+# release_signing_keys:
+# - |
+# -----BEGIN PGP PUBLIC KEY BLOCK-----
+#
+# mQINBFTzBJEBEADiLbE5fOzpY6kX6NboPAi063LtjYxJYqd1GX91YZEXpQ5CXGRA
+# J+iS56Nncrzydg5K7kMEVoCGcAYR0+ahkCE5EX20wPvZSA6gCj0sNVeJ8GwemGu/
+# pBeTP9yMvVhraY30o1K6b++//b+bTthy49yj/+VkrkzLnQCWvv85GyVAY5ExtUdo
+# +5jOKV19SEgmBQTE6yEuqGgQ9wv4ZrY7nljMq4FVUFxE4J55JsylGD+rqhEl5Sxz
+# TsoI5ZlsCGkm0tD0fzVMrzLlg+qEgnajnZrGUojZMvmVj5Sl6ZZ5UVIVvq4A6yO1
+# XOAWVOgfbGDcOmQsb52HeK+m7MlsrBKCTNXMbVfwnRTKOmxnksHEn8W/nKQD4B3l
+# O9QDkYxEqtpZg1yVZsahkyrOm3OJD3GY0SuRvu7x+EgPQWDgZVv0VHHeQxjsMvGa
+# VNbknmZU3236vJjnBMLHCiVzSWVSEnjsRG4hCO/AqMoccqKcphyBax1Be8VSVOAl
+# iBpaK33fKGHSBkQ2Gnwp1qS+A3kAh1mqmE+9W6S/j7nuddtymbUbhFgzCjrt8+7f
+# qRfMxIoOKSXJ+52/mrpwTSA00sGeXgfGWMtnObo46kJHyGKylp0xKVvkqFGK3fHF
+# m2PwMMYfPHNT2V2fDNH3Ggr5YFinndX7Dho0un/bDF3M/n0rKPsg4nYUPwARAQAB
+# tBtMYXJzIFdpcnplbml1cyA8bGl3QGxpdy5maT6JAlcEEwEKAEECGwMFCwkIBwMF
+# FQoJCAsFFgIDAQACHgECF4ACGQEWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3O
+# SQUJCg0wuAAKCRBE4XdAuGEenCnCEADZvZrPfZYWUuZC5R/R03JUUShTyfinXk94
+# j+LtyR/QuhXvGmM0CdVab7jDUbGHZ/wYSEToRQFpKpMt4Zh/+hEC14zPTjK37rAm
+# t53I2fj680UizUOO/ppaUAyyvRdYxIaqvcJALxdzk3YI086ddQWQ3+Rbn3kiblwX
+# HFFlLITbFGDVela1D6ddveTDxBzscPuZF3CboYfuEVONgZib9wyyahT1OsV9PWTD
+# hyq8QyiYopYG57B5X24KwyJPy57pA2uuN2T6sL3OnF1cEo7FYdhZ9QK8RAQekR5/
+# 7uQuvmLLW3Y54AeSg0QmirqYEqhVMbfOwh6ZinRI9s6QNdKbZH3o30VKqC230cUg
+# EDeJcxXSahwuN5FaYFYoMWlrFs2q1rB6JI+7dZyGOcADDOf6bIXBVwvxSKeGewlI
+# BIggSSsJoiQwau7hSxZSBqJutlogYtaCEcIMrMSKCzWDRbuTgZvjrOFp1Xo78K44
+# zgUnmHcPPtf/2pTh/ASo9MsSjXGomjXRQDTN1GlWA73fTdpIrF+NJirIU0WqU1O6
+# JqGA4ehTrwe1Oise3KgtpbLiWdQEVIIPXT8hJ8LsjRAXG/3k9Yetho66HrRAJXFZ
+# lwNyxSd76BMwk7gezkP/kneQhuzx78P/5ehw9b77uIKrF9C6LIm2QQT1vBGz6TpV
+# pXfqGKsJHbQbTGFycyBXaXJ6ZW5pdXMgPGxpd0Bpa2kuZmk+iQJUBBMBCgA+AhsD
+# BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAFiEE2+VDnZfYJiZkobAYROF3QLhhHpwF
+# Als9zlIFCQoNMLgACgkQROF3QLhhHpzchw//eO9cf6s/fOPa2808BcRATI4uuh2C
+# k3pvSuzP/7yMQ6kaJvbTvKEzSy2aQj2DuubCRwSB4HAAJYYOaZzGwCE3qXgHZWjq
+# IvVzc3L5cHV+W4z4g55yQQVXiLTI5qZfh3ZAWSXMt8OSqS5FostQ9e1xNJMHPP7W
+# 79tearTAh14fgQiLA2nFsG3SRXXuYuHF0iORrgjpdzFxWbpw/AQevL2YwPqvTjVG
+# m1WzCZOfHwNyvSAKE327OkR+Zm1QWjnh09OKl0cvtJ11OSoe1Rm8oUzwVHvKrhIL
+# CWFzizEOmD1JDRXM75LmTnGWZ770fpRq/HGjWs7KoIKshBmFLA1ZdbUbQN+y7zox
+# BErzs2hncNIXEfjloXqFY5rT2/JgShIqktRrUFtvZO/dp0oc8rBG3QFFpMJQUckY
+# 7qAi2YTGg70K3yP2I5wVLZfs44Pbom/GkYpZ8zIhUB+PyOYnp+3hr6uct5QAiQDs
+# BJFR88BaYuMvsOZur20ZKO1aYNb7vpQadE6HT8ufYe2OR3mMv+LEWw2hCO/rm27b
+# 5c0YyO4/n4ACgI+TW7R382LahcrbNIfCQ8qwObVHFKfkCp8Dc4veH1/ZpQMlhZI0
+# z9uVSzc+quxfprbe0Qcsw/I+Tq9NhMd28Qsgzjuq9XByZGyA3WY1t5Jr3EYNFOhg
+# svIuKStVY4LoL8O0KExhcnMgV2lyemVuaXVzIDxsYXJzLndpcnplbml1c0BlZmZp
+# Lm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AWIQTb5UOd
+# l9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEenKNcEACjJait
+# XHbkM6fxSIb0A59/Wp1E2EeTTcTlGsd7JZVJCXbe150+i0XMGpnyNizlONzOIGyq
+# bo7usL9ikB2AivlOqes3u+sLp+lSKhRGcZk1Yo2DRAgJwHX3TgexvEpKlAQBSYW6
+# 6fedGErW6hal+ptsA66qoDeFClWyTufHbl3e2E+RwFZ8AN9Pusqwsz9BwGELaAju
+# mW/E6l8en2m8AQqkN0jAz/JSUX6GguvcLjKVKlfTqlPjFxc6bDCs5iRALQJ0QKaX
+# ygD75PyLbcr0NtA2/nwQMfPhUMkxff3lnUQjjIHYnCDbDyV2y87GBHo2jepi6mgs
+# fx1YESf7+2YQdzDogwd1wAptPDtgqg4KnaRPh9OmWnYWgRnBy9WfLr9BNWVyuaRS
+# 2vq9POa54dsRyw71xVOSRNl6cvbiQPjhRe6rdqQ0PUhbZUltH23uSj9Ru7v8dIeT
+# DAq9F7Ccnli9KjQzqh6R9iEqe+zl4qjIn9ZBkcFxxWvv5usk6LJxyvbojjj4sH8r
+# SuuKvgqaOJwII58wZLq4ZF9q+8IrBnCKj3dQdyKyzPibIt5U3dsK/hxIGZk+HaOz
+# n68wQEQ+LbC3OCKzo6v2dto562I+QfOhd2mkXJX1mLnb2OB1faSaAYw4AOP/KNo1
+# S0QssoUYSmKc8deI/wXTuUNRDjkCqRhPLMkzFLQgTGFycyBXaXJ6ZW5pdXMgPGxh
+# cnNAZGViaWFuLm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgEC
+# F4AWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEe
+# nGOUD/42mhMGIjmhMPFCjP8imO+zDddL9n72IxMX+0u2TQLfkPbkqeyVLVO0qYu1
+# OfxF3ZHQ+St3YiYEOiUwuEz5OatJgtT37kRErp6RXSK8y3cjejJe57n/6C0axckU
+# xln6viOoaVM5FSCDEOSlBGMud1FkxYCjGEzKGd5tTmoSfBWGFdJNr794YROO1Yha
+# XEUSiE7Vf+oAdf4rz8bld0eUSN4TBU4DHCUdDhoybnS5u/1tfj3I/GwB6xOkL5wY
+# XGse8xMF3ZR7sqceLocRhj/eHdO+suRFuDvR8oQHlS3fVx7P1tnCy0m7M5CHPFVF
+# 1iSuf4MFCkQBy8zeBl+88uZ+qtYvDAWqx6wL1M7Mo50uzoxy3xrOTawX+UjeP+v7
+# ToembziDdJxG53VHT7bXUy5oCllZGanzCJMvyamnsKDrOoNcPjhTWsk22QkA0HUt
+# XOsIyw9FogCPrm3qM/PLxIZZYtG2QYG/8VUPYtOOekm2iHGFf3JVmeHtY+MpVKpg
+# 86DeYv9YSoEpTTNb2YuzoYaYP+TcAQ5I03kBK5c8a+YwKh7U0BOGS62kfV53M/5V
+# o5T+7YDp1NbZQHeYWXeZWfzycroUQlYhdR7Q0WaKNxPOeQCYG0mINIbwVC1g0nMp
+# vlVQg59jfMqNRc/wVd35u9BlDizW3//v0BgWRC06ULn9WA59grQiTGFycyBXaXJ6
+# ZW5pdXMgPGxpd0BxdmFybmxhYnMuY29tPokCVAQTAQoAPgIbAwULCQgHAwUVCgkI
+# CwUWAgMBAAIeAQIXgBYhBNvlQ52X2CYmZKGwGEThd0C4YR6cBQJbPc5SBQkKDTC4
+# AAoJEEThd0C4YR6cGY8P+wVZRxT7AGMDJm2b4BL/XhjMmPrUBa5tal9jCHSCHYpj
+# hiri1lTvdFJbAT025Sc7xn2sdjCHHndBsDMoAp+cdwJ69HGM39Lr61e3nvdgvJig
+# JzmeRUSQm55R+Sly7ApXwpAzZBaSGTm8BD2mvuQgQzNKISxbWtzL0v2rtn0kTJ/x
+# r3nj5MW2PbNO4UD/lVLjVWGu1q0HcfHNmzwsnOr/0ojLlV1vbudDq4KIHTcoLXEQ
+# O8L8R+8Zd86nbTE5Z40tDc9rsItWqiBOA5V3F+7v6zC5RnNt0zGgVrOSLa1VcHkn
+# dLMc2JBDvcbjAX5uAvnH9lJdp1fL4woDnTp5KtO/0B6P6ozy2cs/KzW8cLYfDtQI
+# pg+n7owOXoCgP3RLTx6f0rrE0DmeHO/zwUA1Lj8moMWtl1WWdDZaYUoT2l/l8lhb
+# APiQ/Dc1VF52B6zKt+z0+XJdJnDShKqx1MFGugR1IMRvmWifdSB0X41BrRKZOLgi
+# vHe0SwjBZ0NAix7YnKDM31kyjpdnb/3QSRw+aIdM3PI3taVppbjvRlWDbhOetY/6
+# GTfDJME9G393/n5J6eMMFyMLMu58RoZ/goXqKOxRD0l0ZgAxHToLhZf50PfaFH3a
+# 2BdL+424+8YPa+E9bxe1Vq860uiWKdxMkw2+deLX6CjSUgzZ50WxgBONCjIHp4Xb
+# uQINBFTzBOMBEADDMI2I7jhlRDB0zSyvnxgAU8t6B4bTo//0yPXvcb997vx16BUx
+# vzlZwiADzkMKE4vfQWZF6sJN9av5tdMMEzYlqPYt0O5/z+qh/r04lWdivTTG5w/7
+# BSW3r2RAtB5OeFtigtuRegEGA5I80P5P0psdOWlGWg+OflrMBDVdV2RUT9oKq1xn
+# eGXMAIswBEJ4a6O9jUyuTN8/65L/iyBGNQKGF+LyXu43Pq17vVGoLfJPxHA5ZE1w
+# fGHB4lccql+1dWv6+M2oQgrCKcmc8u/WzO1UoYhHz2oNX1nAxPkGjGuuzfL3w2Ty
+# I6ej/pclMYuIMqhZDwYHkpUlfSigDvJ+6x6XY6U+FVwOWLok6Gi9xorG7AgAnASd
+# XCJNRp10O2ThGnLhl+ED49ivr+JLeLUf4rP6W47RW0PhzyUHc6u7K2R0CtPVpzhk
+# WiMjye+uTMAmR076mAYQAzKv3v+Ga3tqBh/mDj5VE0WZoQbaURctFE1TqatqvK7x
+# 8hqPb658C93MQcw7kQVzlYHM996kHXr5vaNaSqGfpZyMeYPD/rqnbHASIn4ylLPZ
+# totauNwLSRdtG0El99666YwMuYamG6f1mxObBm2i69ZPwsVT8uOYZgIxgnQ58JcN
+# hBHJH+AIA3bMEj+VA6jkPdrUh+GHfgmgHb+BVgrtGoTXaofnCHzhLnJaQwARAQAB
+# iQQ+BBgBCAAJBQJU8wTjAhsCAikJEEThd0C4YR6cwV0gBBkBCAAGBQJU8wTjAAoJ
+# EGwvphbseiAxkmgP/20lakY9utuDDIsjnyOGB8S2eWa9ca8ZOqipzijEOxVqyRdm
+# 8EbAlsv0IDdvFC2PfDIu7Xm9m+UNeSrbtWlkl58UpBFh/eDFN2Ap0rKhOZPr/wZb
+# LzqEzfXvDNaeIM+oXzxc+2EHDJKDONt+/qF6Rw9sMuPqhIIGU08PVS/pLiuKaB72
+# cHmOj9cPMo7AIqccXC8jwHQkNc46AIdOCXIkzG43IIl3KmPhS/oywe+msfY+BoBn
+# EH9r6wO91gRRCyd30NM7rqjuJjuc2C8Cqv94LgZK009nT9+E1uWj6Nh6omDqohCf
+# GJnr2WjO+uWQH0J+FuPa9+NqiO1XubqiNTT/2EjPuKiKEzB/d4ywIyAvP/T8pOE+
+# ToW5sFLTR1BzCN0Vbq2a7+xYT5f7vLk2Q5Qzt6C43WiE8dQfXXylrZK4GhG0VvJP
+# jNMYM6LCUXYDH9vb1NnA3MHryGAK2JsHOET5IZ0g88DJw0z1SCQzpXp+JLouW7qd
+# 9nXdmCvSZ7m8o8yFUHp7D7Bv/52ZoH8We1mKtNuSc7LM2Tc/ZJVyMgFSSIJQ0tvK
+# m4EFAeCV+MaonDGZhbYeXIxd7LbVtNKDi6Mc4WKBmbAHWOTPlrBAVBGbUv3C1EqT
+# 9vfo7MjPiq5g6EJjzDoVhfZrzZzH7Fb5TcwVmxzvYj7rDXnsBBzLdCiDr3VzWa0P
+# /1+8B5u7vQqd7eMyN/627FSVDXjnDXr0Af89MP4LA1sYxjvaoq40+paJuwRliuh/
+# Fxv4yUvaE/nFTjSLjkkZrKPfnZP7N7N9DwcaixsIUe1eTDSNAwZQ6N5Ae+XEmuXV
+# AIoIzNoMuFGJ+pHlt0HNvAbVtsRajdsmhCNXV4TamaphZNuDfsJoX7KBxCu4U9xy
+# KxzT71BOqWYdJMSMSxzCLwdfISH8AK5PIbDifOeCzr3PI6/hGv7Ld7KuxmBtN/3a
+# 0YzhgT1F03hN/46qyYhnrL5hmoP2TaQeCipA+bpmPWSJDsUtyxHhgnrdFNFjciui
+# rPKWhams+L+rkwmFqUYB4NTwnIA3uetG5K7vydlHXpVP5/ZH4qgxBbx+n7FwVxBa
+# 9ALSNvpsjkvP9DOmfYXPTuNhm9vPLkBgiu1/01EqSpcLWIezd3Gy+SzZrywvHhld
+# 3udqvAvlQsHkWR7lAeYIUf7fdAvTg9YsjbA2t2jNXQUWE2fYEY4YQhfj+I9TNHcN
+# hjtyJErP5FfuaE+MFYh6mLjmrRHeQjJZC9dFRhz0QVGsjq64lKatZCIKuc6Clu3b
+# FC58gF2Za6LsU8u6aWyZQtVKbna+S/6p6O9D6D/IevIL7KPDat6wHJMaPtZF7bDU
+# wQZ7jrtAVvJjbq0uorOHSBD9/S9YxAdh/7wVWGvW++6wuQINBFTzBRUBEADL/xTV
+# PeCJszB6EKB1LetCqJPV/sEKIk/U0Jks5tyV5suHMpOgnJryZulGJuwvtE7VPCdj
+# nEHQ9/HD3fiINVmi1i4khhMYqE6L45Pd2ldXddIJD/Aq1ezcmYjdM8F+jKJK4IFV
+# YZ6lMA2dKL5VeSRndLzrhVp+u5JbQx4SDgae9iF7LrgmmnASuJWBLREEacHxT3j+
+# HPPbAx1z1xkON3gu/LNU4g9kD9YjJrX3wsqD6vED5RMlWauxgo8PFX4G/kbgI9v3
+# 2FsOxX6eUImbMt1svvcOb0gWH4A3q/lG04S6njYlgxJSCfxGTEDq6Il67XbbOIyY
+# rdRLZwrEQKvPoNT3t+WwY5Fd1oIHv03PgogZ0Gykd3b46fygwtAtmwb+JYM5GC4j
+# CQCjLaDgt2vR3fqdDLPlyCtjFbPdxgP7UhO6uTawUx0RDpKyI76ZzO6H+w2n+xFD
+# 1ErwssmIOkLSP6/w2Un3XnuGgWgd8KLhuTb8n8404/OxTiMvSoNxLiq5o5n/TXDt
+# BvqcLHVGRBpPOaUSdw3+zLmfiapRznr9CpYdkldCuSADUSeg/G+0uWa3ESpQK/rl
+# OQFrzh7psTEDSXV05fuphu2xmGxYq4x9amHQcIr0VrYKrQN7+W38sb5fQg3JCSdQ
+# njmVZaS2LCjcTYZYjbWnlq1yjbHYZKNUo/i/FQARAQABiQIfBBgBCAAJBQJU8wUV
+# AhsMAAoJEEThd0C4YR6cc5sQALPQpZw6UqsXIZvs48gN0htDC/v/F5B8cODjBnXz
+# SdC3Fq1FYGngiSNE4AwdmPzIc/fU+gqDTla+4b5wzsiqXt2E1YTnrYxR8fh6s89o
+# jjFoXHTFzqPWmsOQoxkLfPrdwN5lEyxIy4dUCxWMWJZhIgSHdRZz65buZxK4YrjH
+# wckXP4M0+XIT9kxr3FcICZ5rktbjxAq+g74biPcq9ibo7pQ5zSaJpph8hwZo2YOh
+# wUsPw4+5bM7uxudeDq2ianNbNSh/WwjEOjqXfHU53IZCoO+QY5AOs+i2Cj8q2xi/
+# egy8JqZvA9GkHnwckC4NQFLcXibNelBU82W8VYkXaq5nU0VTy9RFIN4hvA+29MQB
+# Swp6OEx0CTJ1/ibyW+w0065DqHMPDQaH1kLx+02fOxiNAx8ppwHOw3rHFygjF1/2
+# uM/IUBTXqS6oBTt9PmSzfbPrbLATjXerITF3/9ZyXWduQt1n12iulC0H+l701SnM
+# oc+HKXt36z8LK4ofV4+ewq8dHA0PBGB55jJOs4GEEoFwBFEfEI0T8yiw+TWylWQY
+# gor3PnV1FZKTads0MUYGPVvrrTmkd7zETwzMW0tr1tYfMsdZfdLPMsEz+/2nmsSz
+# HCwjRvU5bDCA1MXZpMqEZxn3rKVEM/V2ONNUultNUamGarBKzj8xIaeYZACy8SUh
+# 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:
+# - ick/setup_container
+# - ick/add_apt_signing_keys
+# - ick/add_apt_sources
+# - ick/restore_workspace
+# - ick/get_sources
+# - rustup
+# - ick/install_debian_build_dependencies
+# - build_obnam_deb
+# - ick/upload_debs
+# - ick/save_workspace
+#
+#
+#
+# pipelines:
+#
+# - pipeline: rustup
+# actions:
+# - where: container
+# shell: |
+# export HOME=/workspace
+# export PATH="$HOME/.cargo/bin:$PATH"
+#
+# if command -v rustup > /dev/null
+# then
+# touch -d yesterday rustup-timestamp
+# if [ "$HOME/.cargo/bin/rustc" -ot rustup-timestamp ]
+# then
+# rustup update
+# else
+# echo nothing to do to update Rust with rustup
+# fi
+# else
+# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
+# sh rustup.sh -y
+# fi
+#
+# type --all rustc
+#
+# - pipeline: build_obnam_deb
+# actions:
+# # - where: container
+# # shell: |
+# # export HOME=/workspace
+# # export PATH="$HOME/.cargo/bin:$PATH"
+# # export TMPDIR=/workspace
+#
+# # cd /workspace/src
+#
+# # apt-get install -y sudo
+# # adduser --disabled-password --gecos worker worker
+# # chown -R worker:worker /workspace
+# # rustup show
+#
+# # if ! sudo -u worker bash -x ./check --save-on-failure=fail.tar.gz "unreadable file"
+# # then
+# # rustc --version
+# # cat test.log
+# # tar tvf fail.tar.gz
+# # exit 1
+# # fi
+#
+# # name="$(dpkg-parsechangelog -S Source)"
+# # version="$(dpkg-parsechangelog -S Version)"
+# # distribution="$(dpkg-parsechangelog -S Distribution)"
+#
+# # 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"
+#
+# # rustc --version
+# # rustup default stable
+# # sudo -u worker rustup default stable
+# # sudo -u worker rustc --version
+# # sudo -u worker env "PATH=$PATH" dpkg-buildpackage -us -uc -sa || cat /tmp/subplot_*.diff.* 2>&1
+#
+# # apt-get update
+# # apt-get install -y subplot \
+# # pandoc-citeproc \
+# # texlive-latex-base \
+# # texlive-latex-recommended \
+# # texlive-fonts-recommended \
+# # plantuml
+#
+# # rm -f obnam.html obnam.pdf
+# # sp-docgen obnam.md -o obnam.html
+# # sp-docgen obnam.md -o obnam.pdf
+# # install -d /workspace/examples
+# # install -m 0644 obnam.html obnam.pdf /workspace/examples/.
+#
+# # # Build new releases.
+# # echo ========================================
+# # echo looking for new releases to
+#
+# # # TEMPORARILY get the latest release tag
+# # rm -f /workspace/built_tags # FIXME
+# # touch /workspace/built_tags # FIXME
+# # python3 ./list_new_release_tags /workspace/built_tags
+# # tac < /workspace/built_tags | tail +2 > foo
+# # mv foo /workspace/built_tags
+#
+# # python3 ./list_new_release_tags /workspace/built_tags | while read tag
+# # do
+# # echo ----------------------------------------
+# # echo "New release tag: $tag"
+# # sudo -u worker env "PATH=$PATH" bash ./build_release_deb.sh /workspace "$tag"
+# # echo "Finished building tag $tag"
+# # done
+# # echo ========================================
+# # echo "Finished building release debs (if any)"
+#
+# - where: container
+# shell: |
+# export HOME=/workspace
+# export PATH="$HOME/.cargo/bin:$PATH"
+# export TMPDIR=/workspace
+#
+# cd /workspace/src
+#
+# apt-get install -y sudo
+# adduser --disabled-password --gecos worker worker
+#
+# chown -R worker:worker /workspace
+# sudo -u worker env "PATH=$PATH" rustup default stable
+# sudo -u worker env "PATH=$PATH" rustup show
+#
+# sudo -u worker env "PATH=$PATH" rustc --version
+# df -h
+# sudo du -xhd1 /
+#
+# sudo -u worker env "PATH=$PATH" bash -x ./check
+#
+# name="$(dpkg-parsechangelog -S Source)"
+# version="$(dpkg-parsechangelog -S Version)"
+# distribution="$(dpkg-parsechangelog -S Distribution)"
+#
+# 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"
+#
+# rustc --version
+# rustup default stable
+# sudo -u worker env "PATH=$PATH" rustup default stable
+# sudo -u worker env "PATH=$PATH" rustc --version
+# sudo -u worker env "PATH=$PATH" dpkg-buildpackage -us -uc -sa || cat /tmp/subplot_*.diff.* 2>&1
+#
+# apt-get update
+# apt-get install -y subplot \
+# pandoc-citeproc \
+# texlive-latex-base \
+# texlive-latex-recommended \
+# texlive-fonts-recommended \
+# plantuml
+#
+# rm -f obnam.html obnam.pdf
+# sp-docgen obnam.md -o obnam.html
+# sp-docgen obnam.md -o obnam.pdf
+# install -d /workspace/examples
+# install -m 0644 obnam.html obnam.pdf /workspace/examples/.
+#
+# # # Build new releases.
+# # echo ========================================
+# # echo looking for new releases to build
+#
+# # # TEMPORARILY get the latest release tag
+# # rm -f /workspace/built_tags # FIXME
+# # touch /workspace/built_tags # FIXME
+# # python3 ./list_new_release_tags /workspace/built_tags
+# # tac < /workspace/built_tags | tail +2 > foo
+# # mv foo /workspace/built_tags
+#
+# # python3 ./list_new_release_tags /workspace/built_tags | while read tag
+# # do
+# # echo ----------------------------------------
+# # echo "New release tag: $tag"
+# # sudo -u worker env "PATH=$PATH" bash ./build_release_deb.sh /workspace "$tag"
+# # echo "Finished building tag $tag"
+# # done
+# # echo ========================================
+# # echo "Finished building release debs (if any)"
+#
+# - action: rsync
+# where: host
diff --git a/ci-prod-programs.ick b/ci-prod-programs.ick
index dcddb01..1788740 100644
--- a/ci-prod-programs.ick
+++ b/ci-prod-programs.ick
@@ -1,610 +1,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)"
+# # 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-----
+#
+# mQINBFTzBJEBEADiLbE5fOzpY6kX6NboPAi063LtjYxJYqd1GX91YZEXpQ5CXGRA
+# J+iS56Nncrzydg5K7kMEVoCGcAYR0+ahkCE5EX20wPvZSA6gCj0sNVeJ8GwemGu/
+# pBeTP9yMvVhraY30o1K6b++//b+bTthy49yj/+VkrkzLnQCWvv85GyVAY5ExtUdo
+# +5jOKV19SEgmBQTE6yEuqGgQ9wv4ZrY7nljMq4FVUFxE4J55JsylGD+rqhEl5Sxz
+# TsoI5ZlsCGkm0tD0fzVMrzLlg+qEgnajnZrGUojZMvmVj5Sl6ZZ5UVIVvq4A6yO1
+# XOAWVOgfbGDcOmQsb52HeK+m7MlsrBKCTNXMbVfwnRTKOmxnksHEn8W/nKQD4B3l
+# O9QDkYxEqtpZg1yVZsahkyrOm3OJD3GY0SuRvu7x+EgPQWDgZVv0VHHeQxjsMvGa
+# VNbknmZU3236vJjnBMLHCiVzSWVSEnjsRG4hCO/AqMoccqKcphyBax1Be8VSVOAl
+# iBpaK33fKGHSBkQ2Gnwp1qS+A3kAh1mqmE+9W6S/j7nuddtymbUbhFgzCjrt8+7f
+# qRfMxIoOKSXJ+52/mrpwTSA00sGeXgfGWMtnObo46kJHyGKylp0xKVvkqFGK3fHF
+# m2PwMMYfPHNT2V2fDNH3Ggr5YFinndX7Dho0un/bDF3M/n0rKPsg4nYUPwARAQAB
+# tBtMYXJzIFdpcnplbml1cyA8bGl3QGxpdy5maT6JAlcEEwEKAEECGwMFCwkIBwMF
+# FQoJCAsFFgIDAQACHgECF4ACGQEWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3O
+# SQUJCg0wuAAKCRBE4XdAuGEenCnCEADZvZrPfZYWUuZC5R/R03JUUShTyfinXk94
+# j+LtyR/QuhXvGmM0CdVab7jDUbGHZ/wYSEToRQFpKpMt4Zh/+hEC14zPTjK37rAm
+# t53I2fj680UizUOO/ppaUAyyvRdYxIaqvcJALxdzk3YI086ddQWQ3+Rbn3kiblwX
+# HFFlLITbFGDVela1D6ddveTDxBzscPuZF3CboYfuEVONgZib9wyyahT1OsV9PWTD
+# hyq8QyiYopYG57B5X24KwyJPy57pA2uuN2T6sL3OnF1cEo7FYdhZ9QK8RAQekR5/
+# 7uQuvmLLW3Y54AeSg0QmirqYEqhVMbfOwh6ZinRI9s6QNdKbZH3o30VKqC230cUg
+# EDeJcxXSahwuN5FaYFYoMWlrFs2q1rB6JI+7dZyGOcADDOf6bIXBVwvxSKeGewlI
+# BIggSSsJoiQwau7hSxZSBqJutlogYtaCEcIMrMSKCzWDRbuTgZvjrOFp1Xo78K44
+# zgUnmHcPPtf/2pTh/ASo9MsSjXGomjXRQDTN1GlWA73fTdpIrF+NJirIU0WqU1O6
+# JqGA4ehTrwe1Oise3KgtpbLiWdQEVIIPXT8hJ8LsjRAXG/3k9Yetho66HrRAJXFZ
+# lwNyxSd76BMwk7gezkP/kneQhuzx78P/5ehw9b77uIKrF9C6LIm2QQT1vBGz6TpV
+# pXfqGKsJHbQbTGFycyBXaXJ6ZW5pdXMgPGxpd0Bpa2kuZmk+iQJUBBMBCgA+AhsD
+# BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAFiEE2+VDnZfYJiZkobAYROF3QLhhHpwF
+# Als9zlIFCQoNMLgACgkQROF3QLhhHpzchw//eO9cf6s/fOPa2808BcRATI4uuh2C
+# k3pvSuzP/7yMQ6kaJvbTvKEzSy2aQj2DuubCRwSB4HAAJYYOaZzGwCE3qXgHZWjq
+# IvVzc3L5cHV+W4z4g55yQQVXiLTI5qZfh3ZAWSXMt8OSqS5FostQ9e1xNJMHPP7W
+# 79tearTAh14fgQiLA2nFsG3SRXXuYuHF0iORrgjpdzFxWbpw/AQevL2YwPqvTjVG
+# m1WzCZOfHwNyvSAKE327OkR+Zm1QWjnh09OKl0cvtJ11OSoe1Rm8oUzwVHvKrhIL
+# CWFzizEOmD1JDRXM75LmTnGWZ770fpRq/HGjWs7KoIKshBmFLA1ZdbUbQN+y7zox
+# BErzs2hncNIXEfjloXqFY5rT2/JgShIqktRrUFtvZO/dp0oc8rBG3QFFpMJQUckY
+# 7qAi2YTGg70K3yP2I5wVLZfs44Pbom/GkYpZ8zIhUB+PyOYnp+3hr6uct5QAiQDs
+# BJFR88BaYuMvsOZur20ZKO1aYNb7vpQadE6HT8ufYe2OR3mMv+LEWw2hCO/rm27b
+# 5c0YyO4/n4ACgI+TW7R382LahcrbNIfCQ8qwObVHFKfkCp8Dc4veH1/ZpQMlhZI0
+# z9uVSzc+quxfprbe0Qcsw/I+Tq9NhMd28Qsgzjuq9XByZGyA3WY1t5Jr3EYNFOhg
+# svIuKStVY4LoL8O0KExhcnMgV2lyemVuaXVzIDxsYXJzLndpcnplbml1c0BlZmZp
+# Lm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AWIQTb5UOd
+# l9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEenKNcEACjJait
+# XHbkM6fxSIb0A59/Wp1E2EeTTcTlGsd7JZVJCXbe150+i0XMGpnyNizlONzOIGyq
+# bo7usL9ikB2AivlOqes3u+sLp+lSKhRGcZk1Yo2DRAgJwHX3TgexvEpKlAQBSYW6
+# 6fedGErW6hal+ptsA66qoDeFClWyTufHbl3e2E+RwFZ8AN9Pusqwsz9BwGELaAju
+# mW/E6l8en2m8AQqkN0jAz/JSUX6GguvcLjKVKlfTqlPjFxc6bDCs5iRALQJ0QKaX
+# ygD75PyLbcr0NtA2/nwQMfPhUMkxff3lnUQjjIHYnCDbDyV2y87GBHo2jepi6mgs
+# fx1YESf7+2YQdzDogwd1wAptPDtgqg4KnaRPh9OmWnYWgRnBy9WfLr9BNWVyuaRS
+# 2vq9POa54dsRyw71xVOSRNl6cvbiQPjhRe6rdqQ0PUhbZUltH23uSj9Ru7v8dIeT
+# DAq9F7Ccnli9KjQzqh6R9iEqe+zl4qjIn9ZBkcFxxWvv5usk6LJxyvbojjj4sH8r
+# SuuKvgqaOJwII58wZLq4ZF9q+8IrBnCKj3dQdyKyzPibIt5U3dsK/hxIGZk+HaOz
+# n68wQEQ+LbC3OCKzo6v2dto562I+QfOhd2mkXJX1mLnb2OB1faSaAYw4AOP/KNo1
+# S0QssoUYSmKc8deI/wXTuUNRDjkCqRhPLMkzFLQgTGFycyBXaXJ6ZW5pdXMgPGxh
+# cnNAZGViaWFuLm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgEC
+# F4AWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEe
+# nGOUD/42mhMGIjmhMPFCjP8imO+zDddL9n72IxMX+0u2TQLfkPbkqeyVLVO0qYu1
+# OfxF3ZHQ+St3YiYEOiUwuEz5OatJgtT37kRErp6RXSK8y3cjejJe57n/6C0axckU
+# xln6viOoaVM5FSCDEOSlBGMud1FkxYCjGEzKGd5tTmoSfBWGFdJNr794YROO1Yha
+# XEUSiE7Vf+oAdf4rz8bld0eUSN4TBU4DHCUdDhoybnS5u/1tfj3I/GwB6xOkL5wY
+# XGse8xMF3ZR7sqceLocRhj/eHdO+suRFuDvR8oQHlS3fVx7P1tnCy0m7M5CHPFVF
+# 1iSuf4MFCkQBy8zeBl+88uZ+qtYvDAWqx6wL1M7Mo50uzoxy3xrOTawX+UjeP+v7
+# ToembziDdJxG53VHT7bXUy5oCllZGanzCJMvyamnsKDrOoNcPjhTWsk22QkA0HUt
+# XOsIyw9FogCPrm3qM/PLxIZZYtG2QYG/8VUPYtOOekm2iHGFf3JVmeHtY+MpVKpg
+# 86DeYv9YSoEpTTNb2YuzoYaYP+TcAQ5I03kBK5c8a+YwKh7U0BOGS62kfV53M/5V
+# o5T+7YDp1NbZQHeYWXeZWfzycroUQlYhdR7Q0WaKNxPOeQCYG0mINIbwVC1g0nMp
+# vlVQg59jfMqNRc/wVd35u9BlDizW3//v0BgWRC06ULn9WA59grQiTGFycyBXaXJ6
+# ZW5pdXMgPGxpd0BxdmFybmxhYnMuY29tPokCVAQTAQoAPgIbAwULCQgHAwUVCgkI
+# CwUWAgMBAAIeAQIXgBYhBNvlQ52X2CYmZKGwGEThd0C4YR6cBQJbPc5SBQkKDTC4
+# AAoJEEThd0C4YR6cGY8P+wVZRxT7AGMDJm2b4BL/XhjMmPrUBa5tal9jCHSCHYpj
+# hiri1lTvdFJbAT025Sc7xn2sdjCHHndBsDMoAp+cdwJ69HGM39Lr61e3nvdgvJig
+# JzmeRUSQm55R+Sly7ApXwpAzZBaSGTm8BD2mvuQgQzNKISxbWtzL0v2rtn0kTJ/x
+# r3nj5MW2PbNO4UD/lVLjVWGu1q0HcfHNmzwsnOr/0ojLlV1vbudDq4KIHTcoLXEQ
+# O8L8R+8Zd86nbTE5Z40tDc9rsItWqiBOA5V3F+7v6zC5RnNt0zGgVrOSLa1VcHkn
+# dLMc2JBDvcbjAX5uAvnH9lJdp1fL4woDnTp5KtO/0B6P6ozy2cs/KzW8cLYfDtQI
+# pg+n7owOXoCgP3RLTx6f0rrE0DmeHO/zwUA1Lj8moMWtl1WWdDZaYUoT2l/l8lhb
+# APiQ/Dc1VF52B6zKt+z0+XJdJnDShKqx1MFGugR1IMRvmWifdSB0X41BrRKZOLgi
+# vHe0SwjBZ0NAix7YnKDM31kyjpdnb/3QSRw+aIdM3PI3taVppbjvRlWDbhOetY/6
+# GTfDJME9G393/n5J6eMMFyMLMu58RoZ/goXqKOxRD0l0ZgAxHToLhZf50PfaFH3a
+# 2BdL+424+8YPa+E9bxe1Vq860uiWKdxMkw2+deLX6CjSUgzZ50WxgBONCjIHp4Xb
+# uQINBFTzBOMBEADDMI2I7jhlRDB0zSyvnxgAU8t6B4bTo//0yPXvcb997vx16BUx
+# vzlZwiADzkMKE4vfQWZF6sJN9av5tdMMEzYlqPYt0O5/z+qh/r04lWdivTTG5w/7
+# BSW3r2RAtB5OeFtigtuRegEGA5I80P5P0psdOWlGWg+OflrMBDVdV2RUT9oKq1xn
+# eGXMAIswBEJ4a6O9jUyuTN8/65L/iyBGNQKGF+LyXu43Pq17vVGoLfJPxHA5ZE1w
+# fGHB4lccql+1dWv6+M2oQgrCKcmc8u/WzO1UoYhHz2oNX1nAxPkGjGuuzfL3w2Ty
+# I6ej/pclMYuIMqhZDwYHkpUlfSigDvJ+6x6XY6U+FVwOWLok6Gi9xorG7AgAnASd
+# XCJNRp10O2ThGnLhl+ED49ivr+JLeLUf4rP6W47RW0PhzyUHc6u7K2R0CtPVpzhk
+# WiMjye+uTMAmR076mAYQAzKv3v+Ga3tqBh/mDj5VE0WZoQbaURctFE1TqatqvK7x
+# 8hqPb658C93MQcw7kQVzlYHM996kHXr5vaNaSqGfpZyMeYPD/rqnbHASIn4ylLPZ
+# totauNwLSRdtG0El99666YwMuYamG6f1mxObBm2i69ZPwsVT8uOYZgIxgnQ58JcN
+# hBHJH+AIA3bMEj+VA6jkPdrUh+GHfgmgHb+BVgrtGoTXaofnCHzhLnJaQwARAQAB
+# iQQ+BBgBCAAJBQJU8wTjAhsCAikJEEThd0C4YR6cwV0gBBkBCAAGBQJU8wTjAAoJ
+# EGwvphbseiAxkmgP/20lakY9utuDDIsjnyOGB8S2eWa9ca8ZOqipzijEOxVqyRdm
+# 8EbAlsv0IDdvFC2PfDIu7Xm9m+UNeSrbtWlkl58UpBFh/eDFN2Ap0rKhOZPr/wZb
+# LzqEzfXvDNaeIM+oXzxc+2EHDJKDONt+/qF6Rw9sMuPqhIIGU08PVS/pLiuKaB72
+# cHmOj9cPMo7AIqccXC8jwHQkNc46AIdOCXIkzG43IIl3KmPhS/oywe+msfY+BoBn
+# EH9r6wO91gRRCyd30NM7rqjuJjuc2C8Cqv94LgZK009nT9+E1uWj6Nh6omDqohCf
+# GJnr2WjO+uWQH0J+FuPa9+NqiO1XubqiNTT/2EjPuKiKEzB/d4ywIyAvP/T8pOE+
+# ToW5sFLTR1BzCN0Vbq2a7+xYT5f7vLk2Q5Qzt6C43WiE8dQfXXylrZK4GhG0VvJP
+# jNMYM6LCUXYDH9vb1NnA3MHryGAK2JsHOET5IZ0g88DJw0z1SCQzpXp+JLouW7qd
+# 9nXdmCvSZ7m8o8yFUHp7D7Bv/52ZoH8We1mKtNuSc7LM2Tc/ZJVyMgFSSIJQ0tvK
+# m4EFAeCV+MaonDGZhbYeXIxd7LbVtNKDi6Mc4WKBmbAHWOTPlrBAVBGbUv3C1EqT
+# 9vfo7MjPiq5g6EJjzDoVhfZrzZzH7Fb5TcwVmxzvYj7rDXnsBBzLdCiDr3VzWa0P
+# /1+8B5u7vQqd7eMyN/627FSVDXjnDXr0Af89MP4LA1sYxjvaoq40+paJuwRliuh/
+# Fxv4yUvaE/nFTjSLjkkZrKPfnZP7N7N9DwcaixsIUe1eTDSNAwZQ6N5Ae+XEmuXV
+# AIoIzNoMuFGJ+pHlt0HNvAbVtsRajdsmhCNXV4TamaphZNuDfsJoX7KBxCu4U9xy
+# KxzT71BOqWYdJMSMSxzCLwdfISH8AK5PIbDifOeCzr3PI6/hGv7Ld7KuxmBtN/3a
+# 0YzhgT1F03hN/46qyYhnrL5hmoP2TaQeCipA+bpmPWSJDsUtyxHhgnrdFNFjciui
+# rPKWhams+L+rkwmFqUYB4NTwnIA3uetG5K7vydlHXpVP5/ZH4qgxBbx+n7FwVxBa
+# 9ALSNvpsjkvP9DOmfYXPTuNhm9vPLkBgiu1/01EqSpcLWIezd3Gy+SzZrywvHhld
+# 3udqvAvlQsHkWR7lAeYIUf7fdAvTg9YsjbA2t2jNXQUWE2fYEY4YQhfj+I9TNHcN
+# hjtyJErP5FfuaE+MFYh6mLjmrRHeQjJZC9dFRhz0QVGsjq64lKatZCIKuc6Clu3b
+# FC58gF2Za6LsU8u6aWyZQtVKbna+S/6p6O9D6D/IevIL7KPDat6wHJMaPtZF7bDU
+# wQZ7jrtAVvJjbq0uorOHSBD9/S9YxAdh/7wVWGvW++6wuQINBFTzBRUBEADL/xTV
+# PeCJszB6EKB1LetCqJPV/sEKIk/U0Jks5tyV5suHMpOgnJryZulGJuwvtE7VPCdj
+# nEHQ9/HD3fiINVmi1i4khhMYqE6L45Pd2ldXddIJD/Aq1ezcmYjdM8F+jKJK4IFV
+# YZ6lMA2dKL5VeSRndLzrhVp+u5JbQx4SDgae9iF7LrgmmnASuJWBLREEacHxT3j+
+# HPPbAx1z1xkON3gu/LNU4g9kD9YjJrX3wsqD6vED5RMlWauxgo8PFX4G/kbgI9v3
+# 2FsOxX6eUImbMt1svvcOb0gWH4A3q/lG04S6njYlgxJSCfxGTEDq6Il67XbbOIyY
+# rdRLZwrEQKvPoNT3t+WwY5Fd1oIHv03PgogZ0Gykd3b46fygwtAtmwb+JYM5GC4j
+# CQCjLaDgt2vR3fqdDLPlyCtjFbPdxgP7UhO6uTawUx0RDpKyI76ZzO6H+w2n+xFD
+# 1ErwssmIOkLSP6/w2Un3XnuGgWgd8KLhuTb8n8404/OxTiMvSoNxLiq5o5n/TXDt
+# BvqcLHVGRBpPOaUSdw3+zLmfiapRznr9CpYdkldCuSADUSeg/G+0uWa3ESpQK/rl
+# OQFrzh7psTEDSXV05fuphu2xmGxYq4x9amHQcIr0VrYKrQN7+W38sb5fQg3JCSdQ
+# njmVZaS2LCjcTYZYjbWnlq1yjbHYZKNUo/i/FQARAQABiQIfBBgBCAAJBQJU8wUV
+# AhsMAAoJEEThd0C4YR6cc5sQALPQpZw6UqsXIZvs48gN0htDC/v/F5B8cODjBnXz
+# SdC3Fq1FYGngiSNE4AwdmPzIc/fU+gqDTla+4b5wzsiqXt2E1YTnrYxR8fh6s89o
+# jjFoXHTFzqPWmsOQoxkLfPrdwN5lEyxIy4dUCxWMWJZhIgSHdRZz65buZxK4YrjH
+# wckXP4M0+XIT9kxr3FcICZ5rktbjxAq+g74biPcq9ibo7pQ5zSaJpph8hwZo2YOh
+# wUsPw4+5bM7uxudeDq2ianNbNSh/WwjEOjqXfHU53IZCoO+QY5AOs+i2Cj8q2xi/
+# egy8JqZvA9GkHnwckC4NQFLcXibNelBU82W8VYkXaq5nU0VTy9RFIN4hvA+29MQB
+# Swp6OEx0CTJ1/ibyW+w0065DqHMPDQaH1kLx+02fOxiNAx8ppwHOw3rHFygjF1/2
+# uM/IUBTXqS6oBTt9PmSzfbPrbLATjXerITF3/9ZyXWduQt1n12iulC0H+l701SnM
+# oc+HKXt36z8LK4ofV4+ewq8dHA0PBGB55jJOs4GEEoFwBFEfEI0T8yiw+TWylWQY
+# gor3PnV1FZKTads0MUYGPVvrrTmkd7zETwzMW0tr1tYfMsdZfdLPMsEz+/2nmsSz
+# HCwjRvU5bDCA1MXZpMqEZxn3rKVEM/V2ONNUultNUamGarBKzj8xIaeYZACy8SUh
+# 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)"
diff --git a/ci-prod-subplot.ick b/ci-prod-subplot.ick
index 95bb686..f7969bf 100644
--- a/ci-prod-subplot.ick
+++ b/ci-prod-subplot.ick
@@ -1,309 +1,309 @@
-projects:
-
- - project: rust-systree
- parameters:
- debian_codename: buster
- packages:
- - apt-transport-https
- - jq
- - python3
- - locales-all
- - git
- - build-essential
- - devscripts
- - cargo
- - rustc
- - graphviz
- artifact_name: systrees-debian-buster-rust
- notify:
- - liw@liw.fi
- pipelines:
- - ick/build_debian_systree
-
- - project: subplot
- parameters:
- sources:
- - name: code
- repo: git://git.liw.fi/subplot
- ref: main
- location: src
- - name: roadmap
- repo: git://git.liw.fi/roadmap
- ref: master
- location: roadmap
- apt_sources:
- - url: http://ci-prod-controller.vm.liw.fi/debian
- dist: unstable-ci
- section: main
- rsync_src: examples
- rsync_target: ickliwfi@http.liw.fi:/srv/http/examples.subplot.liw.fi
- DEBFULLNAME: Lars Wirzenius
- DEBEMAIL: liw@liw.fi
- systree_name: systrees-debian-buster-rust
- workspace_name: workspace-subplot
- distribution_ci: unstable-ci
- notify: [liw@liw.fi]
- release_signing_keys:
- - |
- -----BEGIN PGP PUBLIC KEY BLOCK-----
-
- mQINBFTzBJEBEADiLbE5fOzpY6kX6NboPAi063LtjYxJYqd1GX91YZEXpQ5CXGRA
- J+iS56Nncrzydg5K7kMEVoCGcAYR0+ahkCE5EX20wPvZSA6gCj0sNVeJ8GwemGu/
- pBeTP9yMvVhraY30o1K6b++//b+bTthy49yj/+VkrkzLnQCWvv85GyVAY5ExtUdo
- +5jOKV19SEgmBQTE6yEuqGgQ9wv4ZrY7nljMq4FVUFxE4J55JsylGD+rqhEl5Sxz
- TsoI5ZlsCGkm0tD0fzVMrzLlg+qEgnajnZrGUojZMvmVj5Sl6ZZ5UVIVvq4A6yO1
- XOAWVOgfbGDcOmQsb52HeK+m7MlsrBKCTNXMbVfwnRTKOmxnksHEn8W/nKQD4B3l
- O9QDkYxEqtpZg1yVZsahkyrOm3OJD3GY0SuRvu7x+EgPQWDgZVv0VHHeQxjsMvGa
- VNbknmZU3236vJjnBMLHCiVzSWVSEnjsRG4hCO/AqMoccqKcphyBax1Be8VSVOAl
- iBpaK33fKGHSBkQ2Gnwp1qS+A3kAh1mqmE+9W6S/j7nuddtymbUbhFgzCjrt8+7f
- qRfMxIoOKSXJ+52/mrpwTSA00sGeXgfGWMtnObo46kJHyGKylp0xKVvkqFGK3fHF
- m2PwMMYfPHNT2V2fDNH3Ggr5YFinndX7Dho0un/bDF3M/n0rKPsg4nYUPwARAQAB
- tBtMYXJzIFdpcnplbml1cyA8bGl3QGxpdy5maT6JAlcEEwEKAEECGwMFCwkIBwMF
- FQoJCAsFFgIDAQACHgECF4ACGQEWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3O
- SQUJCg0wuAAKCRBE4XdAuGEenCnCEADZvZrPfZYWUuZC5R/R03JUUShTyfinXk94
- j+LtyR/QuhXvGmM0CdVab7jDUbGHZ/wYSEToRQFpKpMt4Zh/+hEC14zPTjK37rAm
- t53I2fj680UizUOO/ppaUAyyvRdYxIaqvcJALxdzk3YI086ddQWQ3+Rbn3kiblwX
- HFFlLITbFGDVela1D6ddveTDxBzscPuZF3CboYfuEVONgZib9wyyahT1OsV9PWTD
- hyq8QyiYopYG57B5X24KwyJPy57pA2uuN2T6sL3OnF1cEo7FYdhZ9QK8RAQekR5/
- 7uQuvmLLW3Y54AeSg0QmirqYEqhVMbfOwh6ZinRI9s6QNdKbZH3o30VKqC230cUg
- EDeJcxXSahwuN5FaYFYoMWlrFs2q1rB6JI+7dZyGOcADDOf6bIXBVwvxSKeGewlI
- BIggSSsJoiQwau7hSxZSBqJutlogYtaCEcIMrMSKCzWDRbuTgZvjrOFp1Xo78K44
- zgUnmHcPPtf/2pTh/ASo9MsSjXGomjXRQDTN1GlWA73fTdpIrF+NJirIU0WqU1O6
- JqGA4ehTrwe1Oise3KgtpbLiWdQEVIIPXT8hJ8LsjRAXG/3k9Yetho66HrRAJXFZ
- lwNyxSd76BMwk7gezkP/kneQhuzx78P/5ehw9b77uIKrF9C6LIm2QQT1vBGz6TpV
- pXfqGKsJHbQbTGFycyBXaXJ6ZW5pdXMgPGxpd0Bpa2kuZmk+iQJUBBMBCgA+AhsD
- BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAFiEE2+VDnZfYJiZkobAYROF3QLhhHpwF
- Als9zlIFCQoNMLgACgkQROF3QLhhHpzchw//eO9cf6s/fOPa2808BcRATI4uuh2C
- k3pvSuzP/7yMQ6kaJvbTvKEzSy2aQj2DuubCRwSB4HAAJYYOaZzGwCE3qXgHZWjq
- IvVzc3L5cHV+W4z4g55yQQVXiLTI5qZfh3ZAWSXMt8OSqS5FostQ9e1xNJMHPP7W
- 79tearTAh14fgQiLA2nFsG3SRXXuYuHF0iORrgjpdzFxWbpw/AQevL2YwPqvTjVG
- m1WzCZOfHwNyvSAKE327OkR+Zm1QWjnh09OKl0cvtJ11OSoe1Rm8oUzwVHvKrhIL
- CWFzizEOmD1JDRXM75LmTnGWZ770fpRq/HGjWs7KoIKshBmFLA1ZdbUbQN+y7zox
- BErzs2hncNIXEfjloXqFY5rT2/JgShIqktRrUFtvZO/dp0oc8rBG3QFFpMJQUckY
- 7qAi2YTGg70K3yP2I5wVLZfs44Pbom/GkYpZ8zIhUB+PyOYnp+3hr6uct5QAiQDs
- BJFR88BaYuMvsOZur20ZKO1aYNb7vpQadE6HT8ufYe2OR3mMv+LEWw2hCO/rm27b
- 5c0YyO4/n4ACgI+TW7R382LahcrbNIfCQ8qwObVHFKfkCp8Dc4veH1/ZpQMlhZI0
- z9uVSzc+quxfprbe0Qcsw/I+Tq9NhMd28Qsgzjuq9XByZGyA3WY1t5Jr3EYNFOhg
- svIuKStVY4LoL8O0KExhcnMgV2lyemVuaXVzIDxsYXJzLndpcnplbml1c0BlZmZp
- Lm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AWIQTb5UOd
- l9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEenKNcEACjJait
- XHbkM6fxSIb0A59/Wp1E2EeTTcTlGsd7JZVJCXbe150+i0XMGpnyNizlONzOIGyq
- bo7usL9ikB2AivlOqes3u+sLp+lSKhRGcZk1Yo2DRAgJwHX3TgexvEpKlAQBSYW6
- 6fedGErW6hal+ptsA66qoDeFClWyTufHbl3e2E+RwFZ8AN9Pusqwsz9BwGELaAju
- mW/E6l8en2m8AQqkN0jAz/JSUX6GguvcLjKVKlfTqlPjFxc6bDCs5iRALQJ0QKaX
- ygD75PyLbcr0NtA2/nwQMfPhUMkxff3lnUQjjIHYnCDbDyV2y87GBHo2jepi6mgs
- fx1YESf7+2YQdzDogwd1wAptPDtgqg4KnaRPh9OmWnYWgRnBy9WfLr9BNWVyuaRS
- 2vq9POa54dsRyw71xVOSRNl6cvbiQPjhRe6rdqQ0PUhbZUltH23uSj9Ru7v8dIeT
- DAq9F7Ccnli9KjQzqh6R9iEqe+zl4qjIn9ZBkcFxxWvv5usk6LJxyvbojjj4sH8r
- SuuKvgqaOJwII58wZLq4ZF9q+8IrBnCKj3dQdyKyzPibIt5U3dsK/hxIGZk+HaOz
- n68wQEQ+LbC3OCKzo6v2dto562I+QfOhd2mkXJX1mLnb2OB1faSaAYw4AOP/KNo1
- S0QssoUYSmKc8deI/wXTuUNRDjkCqRhPLMkzFLQgTGFycyBXaXJ6ZW5pdXMgPGxh
- cnNAZGViaWFuLm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgEC
- F4AWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEe
- nGOUD/42mhMGIjmhMPFCjP8imO+zDddL9n72IxMX+0u2TQLfkPbkqeyVLVO0qYu1
- OfxF3ZHQ+St3YiYEOiUwuEz5OatJgtT37kRErp6RXSK8y3cjejJe57n/6C0axckU
- xln6viOoaVM5FSCDEOSlBGMud1FkxYCjGEzKGd5tTmoSfBWGFdJNr794YROO1Yha
- XEUSiE7Vf+oAdf4rz8bld0eUSN4TBU4DHCUdDhoybnS5u/1tfj3I/GwB6xOkL5wY
- XGse8xMF3ZR7sqceLocRhj/eHdO+suRFuDvR8oQHlS3fVx7P1tnCy0m7M5CHPFVF
- 1iSuf4MFCkQBy8zeBl+88uZ+qtYvDAWqx6wL1M7Mo50uzoxy3xrOTawX+UjeP+v7
- ToembziDdJxG53VHT7bXUy5oCllZGanzCJMvyamnsKDrOoNcPjhTWsk22QkA0HUt
- XOsIyw9FogCPrm3qM/PLxIZZYtG2QYG/8VUPYtOOekm2iHGFf3JVmeHtY+MpVKpg
- 86DeYv9YSoEpTTNb2YuzoYaYP+TcAQ5I03kBK5c8a+YwKh7U0BOGS62kfV53M/5V
- o5T+7YDp1NbZQHeYWXeZWfzycroUQlYhdR7Q0WaKNxPOeQCYG0mINIbwVC1g0nMp
- vlVQg59jfMqNRc/wVd35u9BlDizW3//v0BgWRC06ULn9WA59grQiTGFycyBXaXJ6
- ZW5pdXMgPGxpd0BxdmFybmxhYnMuY29tPokCVAQTAQoAPgIbAwULCQgHAwUVCgkI
- CwUWAgMBAAIeAQIXgBYhBNvlQ52X2CYmZKGwGEThd0C4YR6cBQJbPc5SBQkKDTC4
- AAoJEEThd0C4YR6cGY8P+wVZRxT7AGMDJm2b4BL/XhjMmPrUBa5tal9jCHSCHYpj
- hiri1lTvdFJbAT025Sc7xn2sdjCHHndBsDMoAp+cdwJ69HGM39Lr61e3nvdgvJig
- JzmeRUSQm55R+Sly7ApXwpAzZBaSGTm8BD2mvuQgQzNKISxbWtzL0v2rtn0kTJ/x
- r3nj5MW2PbNO4UD/lVLjVWGu1q0HcfHNmzwsnOr/0ojLlV1vbudDq4KIHTcoLXEQ
- O8L8R+8Zd86nbTE5Z40tDc9rsItWqiBOA5V3F+7v6zC5RnNt0zGgVrOSLa1VcHkn
- dLMc2JBDvcbjAX5uAvnH9lJdp1fL4woDnTp5KtO/0B6P6ozy2cs/KzW8cLYfDtQI
- pg+n7owOXoCgP3RLTx6f0rrE0DmeHO/zwUA1Lj8moMWtl1WWdDZaYUoT2l/l8lhb
- APiQ/Dc1VF52B6zKt+z0+XJdJnDShKqx1MFGugR1IMRvmWifdSB0X41BrRKZOLgi
- vHe0SwjBZ0NAix7YnKDM31kyjpdnb/3QSRw+aIdM3PI3taVppbjvRlWDbhOetY/6
- GTfDJME9G393/n5J6eMMFyMLMu58RoZ/goXqKOxRD0l0ZgAxHToLhZf50PfaFH3a
- 2BdL+424+8YPa+E9bxe1Vq860uiWKdxMkw2+deLX6CjSUgzZ50WxgBONCjIHp4Xb
- uQINBFTzBOMBEADDMI2I7jhlRDB0zSyvnxgAU8t6B4bTo//0yPXvcb997vx16BUx
- vzlZwiADzkMKE4vfQWZF6sJN9av5tdMMEzYlqPYt0O5/z+qh/r04lWdivTTG5w/7
- BSW3r2RAtB5OeFtigtuRegEGA5I80P5P0psdOWlGWg+OflrMBDVdV2RUT9oKq1xn
- eGXMAIswBEJ4a6O9jUyuTN8/65L/iyBGNQKGF+LyXu43Pq17vVGoLfJPxHA5ZE1w
- fGHB4lccql+1dWv6+M2oQgrCKcmc8u/WzO1UoYhHz2oNX1nAxPkGjGuuzfL3w2Ty
- I6ej/pclMYuIMqhZDwYHkpUlfSigDvJ+6x6XY6U+FVwOWLok6Gi9xorG7AgAnASd
- XCJNRp10O2ThGnLhl+ED49ivr+JLeLUf4rP6W47RW0PhzyUHc6u7K2R0CtPVpzhk
- WiMjye+uTMAmR076mAYQAzKv3v+Ga3tqBh/mDj5VE0WZoQbaURctFE1TqatqvK7x
- 8hqPb658C93MQcw7kQVzlYHM996kHXr5vaNaSqGfpZyMeYPD/rqnbHASIn4ylLPZ
- totauNwLSRdtG0El99666YwMuYamG6f1mxObBm2i69ZPwsVT8uOYZgIxgnQ58JcN
- hBHJH+AIA3bMEj+VA6jkPdrUh+GHfgmgHb+BVgrtGoTXaofnCHzhLnJaQwARAQAB
- iQQ+BBgBCAAJBQJU8wTjAhsCAikJEEThd0C4YR6cwV0gBBkBCAAGBQJU8wTjAAoJ
- EGwvphbseiAxkmgP/20lakY9utuDDIsjnyOGB8S2eWa9ca8ZOqipzijEOxVqyRdm
- 8EbAlsv0IDdvFC2PfDIu7Xm9m+UNeSrbtWlkl58UpBFh/eDFN2Ap0rKhOZPr/wZb
- LzqEzfXvDNaeIM+oXzxc+2EHDJKDONt+/qF6Rw9sMuPqhIIGU08PVS/pLiuKaB72
- cHmOj9cPMo7AIqccXC8jwHQkNc46AIdOCXIkzG43IIl3KmPhS/oywe+msfY+BoBn
- EH9r6wO91gRRCyd30NM7rqjuJjuc2C8Cqv94LgZK009nT9+E1uWj6Nh6omDqohCf
- GJnr2WjO+uWQH0J+FuPa9+NqiO1XubqiNTT/2EjPuKiKEzB/d4ywIyAvP/T8pOE+
- ToW5sFLTR1BzCN0Vbq2a7+xYT5f7vLk2Q5Qzt6C43WiE8dQfXXylrZK4GhG0VvJP
- jNMYM6LCUXYDH9vb1NnA3MHryGAK2JsHOET5IZ0g88DJw0z1SCQzpXp+JLouW7qd
- 9nXdmCvSZ7m8o8yFUHp7D7Bv/52ZoH8We1mKtNuSc7LM2Tc/ZJVyMgFSSIJQ0tvK
- m4EFAeCV+MaonDGZhbYeXIxd7LbVtNKDi6Mc4WKBmbAHWOTPlrBAVBGbUv3C1EqT
- 9vfo7MjPiq5g6EJjzDoVhfZrzZzH7Fb5TcwVmxzvYj7rDXnsBBzLdCiDr3VzWa0P
- /1+8B5u7vQqd7eMyN/627FSVDXjnDXr0Af89MP4LA1sYxjvaoq40+paJuwRliuh/
- Fxv4yUvaE/nFTjSLjkkZrKPfnZP7N7N9DwcaixsIUe1eTDSNAwZQ6N5Ae+XEmuXV
- AIoIzNoMuFGJ+pHlt0HNvAbVtsRajdsmhCNXV4TamaphZNuDfsJoX7KBxCu4U9xy
- KxzT71BOqWYdJMSMSxzCLwdfISH8AK5PIbDifOeCzr3PI6/hGv7Ld7KuxmBtN/3a
- 0YzhgT1F03hN/46qyYhnrL5hmoP2TaQeCipA+bpmPWSJDsUtyxHhgnrdFNFjciui
- rPKWhams+L+rkwmFqUYB4NTwnIA3uetG5K7vydlHXpVP5/ZH4qgxBbx+n7FwVxBa
- 9ALSNvpsjkvP9DOmfYXPTuNhm9vPLkBgiu1/01EqSpcLWIezd3Gy+SzZrywvHhld
- 3udqvAvlQsHkWR7lAeYIUf7fdAvTg9YsjbA2t2jNXQUWE2fYEY4YQhfj+I9TNHcN
- hjtyJErP5FfuaE+MFYh6mLjmrRHeQjJZC9dFRhz0QVGsjq64lKatZCIKuc6Clu3b
- FC58gF2Za6LsU8u6aWyZQtVKbna+S/6p6O9D6D/IevIL7KPDat6wHJMaPtZF7bDU
- wQZ7jrtAVvJjbq0uorOHSBD9/S9YxAdh/7wVWGvW++6wuQINBFTzBRUBEADL/xTV
- PeCJszB6EKB1LetCqJPV/sEKIk/U0Jks5tyV5suHMpOgnJryZulGJuwvtE7VPCdj
- nEHQ9/HD3fiINVmi1i4khhMYqE6L45Pd2ldXddIJD/Aq1ezcmYjdM8F+jKJK4IFV
- YZ6lMA2dKL5VeSRndLzrhVp+u5JbQx4SDgae9iF7LrgmmnASuJWBLREEacHxT3j+
- HPPbAx1z1xkON3gu/LNU4g9kD9YjJrX3wsqD6vED5RMlWauxgo8PFX4G/kbgI9v3
- 2FsOxX6eUImbMt1svvcOb0gWH4A3q/lG04S6njYlgxJSCfxGTEDq6Il67XbbOIyY
- rdRLZwrEQKvPoNT3t+WwY5Fd1oIHv03PgogZ0Gykd3b46fygwtAtmwb+JYM5GC4j
- CQCjLaDgt2vR3fqdDLPlyCtjFbPdxgP7UhO6uTawUx0RDpKyI76ZzO6H+w2n+xFD
- 1ErwssmIOkLSP6/w2Un3XnuGgWgd8KLhuTb8n8404/OxTiMvSoNxLiq5o5n/TXDt
- BvqcLHVGRBpPOaUSdw3+zLmfiapRznr9CpYdkldCuSADUSeg/G+0uWa3ESpQK/rl
- OQFrzh7psTEDSXV05fuphu2xmGxYq4x9amHQcIr0VrYKrQN7+W38sb5fQg3JCSdQ
- njmVZaS2LCjcTYZYjbWnlq1yjbHYZKNUo/i/FQARAQABiQIfBBgBCAAJBQJU8wUV
- AhsMAAoJEEThd0C4YR6cc5sQALPQpZw6UqsXIZvs48gN0htDC/v/F5B8cODjBnXz
- SdC3Fq1FYGngiSNE4AwdmPzIc/fU+gqDTla+4b5wzsiqXt2E1YTnrYxR8fh6s89o
- jjFoXHTFzqPWmsOQoxkLfPrdwN5lEyxIy4dUCxWMWJZhIgSHdRZz65buZxK4YrjH
- wckXP4M0+XIT9kxr3FcICZ5rktbjxAq+g74biPcq9ibo7pQ5zSaJpph8hwZo2YOh
- wUsPw4+5bM7uxudeDq2ianNbNSh/WwjEOjqXfHU53IZCoO+QY5AOs+i2Cj8q2xi/
- egy8JqZvA9GkHnwckC4NQFLcXibNelBU82W8VYkXaq5nU0VTy9RFIN4hvA+29MQB
- Swp6OEx0CTJ1/ibyW+w0065DqHMPDQaH1kLx+02fOxiNAx8ppwHOw3rHFygjF1/2
- uM/IUBTXqS6oBTt9PmSzfbPrbLATjXerITF3/9ZyXWduQt1n12iulC0H+l701SnM
- oc+HKXt36z8LK4ofV4+ewq8dHA0PBGB55jJOs4GEEoFwBFEfEI0T8yiw+TWylWQY
- gor3PnV1FZKTads0MUYGPVvrrTmkd7zETwzMW0tr1tYfMsdZfdLPMsEz+/2nmsSz
- HCwjRvU5bDCA1MXZpMqEZxn3rKVEM/V2ONNUultNUamGarBKzj8xIaeYZACy8SUh
- 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
- - rustup
- - build_subplot_deb
- - ick/upload_debs
- - ick/save_workspace
-
-pipelines:
-
- - pipeline: list_files
- actions:
- - shell: |
- pwd
- find -ls
- ls -d /proc
- cd src
- dpkg-checkbuilddeps
- where: container
-
- - pipeline: build_subplot_deb
- actions:
- - where: container
- shell: |
- export HOME=/workspace
- export PATH="$HOME/.cargo/bin:$PATH"
-
- cd /workspace/src
- name="$(dpkg-parsechangelog -S Source)"
- version="$(dpkg-parsechangelog -S Version)"
- distribution="$(dpkg-parsechangelog -S Distribution)"
-
- 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}"
-
- git clean -fdx -e target
- ./check -v
- install -d /workspace/examples
- install -m 0644 *.html *.pdf /workspace/examples/.
-
- export TMPDIR=/workspace
- rm -f /workspace/*_*
- ./build-deb /workspace
-
- cd /workspace
- ls -l
-
- - action: rsync
- where: host
+# projects:
+#
+# - project: rust-systree
+# parameters:
+# debian_codename: buster
+# packages:
+# - apt-transport-https
+# - jq
+# - python3
+# - locales-all
+# - git
+# - build-essential
+# - devscripts
+# - cargo
+# - rustc
+# - graphviz
+# artifact_name: systrees-debian-buster-rust
+# notify:
+# - liw@liw.fi
+# pipelines:
+# - ick/build_debian_systree
+#
+# - project: subplot
+# parameters:
+# sources:
+# - name: code
+# repo: git://git.liw.fi/subplot
+# ref: main
+# location: src
+# - name: roadmap
+# repo: git://git.liw.fi/roadmap
+# ref: master
+# location: roadmap
+# apt_sources:
+# - url: http://ci-prod-controller.vm.liw.fi/debian
+# dist: unstable-ci
+# section: main
+# rsync_src: examples
+# rsync_target: ickliwfi@http.liw.fi:/srv/http/examples.subplot.liw.fi
+# DEBFULLNAME: Lars Wirzenius
+# DEBEMAIL: liw@liw.fi
+# systree_name: systrees-debian-buster-rust
+# workspace_name: workspace-subplot
+# distribution_ci: unstable-ci
+# notify: [liw@liw.fi]
+# release_signing_keys:
+# - |
+# -----BEGIN PGP PUBLIC KEY BLOCK-----
+#
+# mQINBFTzBJEBEADiLbE5fOzpY6kX6NboPAi063LtjYxJYqd1GX91YZEXpQ5CXGRA
+# J+iS56Nncrzydg5K7kMEVoCGcAYR0+ahkCE5EX20wPvZSA6gCj0sNVeJ8GwemGu/
+# pBeTP9yMvVhraY30o1K6b++//b+bTthy49yj/+VkrkzLnQCWvv85GyVAY5ExtUdo
+# +5jOKV19SEgmBQTE6yEuqGgQ9wv4ZrY7nljMq4FVUFxE4J55JsylGD+rqhEl5Sxz
+# TsoI5ZlsCGkm0tD0fzVMrzLlg+qEgnajnZrGUojZMvmVj5Sl6ZZ5UVIVvq4A6yO1
+# XOAWVOgfbGDcOmQsb52HeK+m7MlsrBKCTNXMbVfwnRTKOmxnksHEn8W/nKQD4B3l
+# O9QDkYxEqtpZg1yVZsahkyrOm3OJD3GY0SuRvu7x+EgPQWDgZVv0VHHeQxjsMvGa
+# VNbknmZU3236vJjnBMLHCiVzSWVSEnjsRG4hCO/AqMoccqKcphyBax1Be8VSVOAl
+# iBpaK33fKGHSBkQ2Gnwp1qS+A3kAh1mqmE+9W6S/j7nuddtymbUbhFgzCjrt8+7f
+# qRfMxIoOKSXJ+52/mrpwTSA00sGeXgfGWMtnObo46kJHyGKylp0xKVvkqFGK3fHF
+# m2PwMMYfPHNT2V2fDNH3Ggr5YFinndX7Dho0un/bDF3M/n0rKPsg4nYUPwARAQAB
+# tBtMYXJzIFdpcnplbml1cyA8bGl3QGxpdy5maT6JAlcEEwEKAEECGwMFCwkIBwMF
+# FQoJCAsFFgIDAQACHgECF4ACGQEWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3O
+# SQUJCg0wuAAKCRBE4XdAuGEenCnCEADZvZrPfZYWUuZC5R/R03JUUShTyfinXk94
+# j+LtyR/QuhXvGmM0CdVab7jDUbGHZ/wYSEToRQFpKpMt4Zh/+hEC14zPTjK37rAm
+# t53I2fj680UizUOO/ppaUAyyvRdYxIaqvcJALxdzk3YI086ddQWQ3+Rbn3kiblwX
+# HFFlLITbFGDVela1D6ddveTDxBzscPuZF3CboYfuEVONgZib9wyyahT1OsV9PWTD
+# hyq8QyiYopYG57B5X24KwyJPy57pA2uuN2T6sL3OnF1cEo7FYdhZ9QK8RAQekR5/
+# 7uQuvmLLW3Y54AeSg0QmirqYEqhVMbfOwh6ZinRI9s6QNdKbZH3o30VKqC230cUg
+# EDeJcxXSahwuN5FaYFYoMWlrFs2q1rB6JI+7dZyGOcADDOf6bIXBVwvxSKeGewlI
+# BIggSSsJoiQwau7hSxZSBqJutlogYtaCEcIMrMSKCzWDRbuTgZvjrOFp1Xo78K44
+# zgUnmHcPPtf/2pTh/ASo9MsSjXGomjXRQDTN1GlWA73fTdpIrF+NJirIU0WqU1O6
+# JqGA4ehTrwe1Oise3KgtpbLiWdQEVIIPXT8hJ8LsjRAXG/3k9Yetho66HrRAJXFZ
+# lwNyxSd76BMwk7gezkP/kneQhuzx78P/5ehw9b77uIKrF9C6LIm2QQT1vBGz6TpV
+# pXfqGKsJHbQbTGFycyBXaXJ6ZW5pdXMgPGxpd0Bpa2kuZmk+iQJUBBMBCgA+AhsD
+# BQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAFiEE2+VDnZfYJiZkobAYROF3QLhhHpwF
+# Als9zlIFCQoNMLgACgkQROF3QLhhHpzchw//eO9cf6s/fOPa2808BcRATI4uuh2C
+# k3pvSuzP/7yMQ6kaJvbTvKEzSy2aQj2DuubCRwSB4HAAJYYOaZzGwCE3qXgHZWjq
+# IvVzc3L5cHV+W4z4g55yQQVXiLTI5qZfh3ZAWSXMt8OSqS5FostQ9e1xNJMHPP7W
+# 79tearTAh14fgQiLA2nFsG3SRXXuYuHF0iORrgjpdzFxWbpw/AQevL2YwPqvTjVG
+# m1WzCZOfHwNyvSAKE327OkR+Zm1QWjnh09OKl0cvtJ11OSoe1Rm8oUzwVHvKrhIL
+# CWFzizEOmD1JDRXM75LmTnGWZ770fpRq/HGjWs7KoIKshBmFLA1ZdbUbQN+y7zox
+# BErzs2hncNIXEfjloXqFY5rT2/JgShIqktRrUFtvZO/dp0oc8rBG3QFFpMJQUckY
+# 7qAi2YTGg70K3yP2I5wVLZfs44Pbom/GkYpZ8zIhUB+PyOYnp+3hr6uct5QAiQDs
+# BJFR88BaYuMvsOZur20ZKO1aYNb7vpQadE6HT8ufYe2OR3mMv+LEWw2hCO/rm27b
+# 5c0YyO4/n4ACgI+TW7R382LahcrbNIfCQ8qwObVHFKfkCp8Dc4veH1/ZpQMlhZI0
+# z9uVSzc+quxfprbe0Qcsw/I+Tq9NhMd28Qsgzjuq9XByZGyA3WY1t5Jr3EYNFOhg
+# svIuKStVY4LoL8O0KExhcnMgV2lyemVuaXVzIDxsYXJzLndpcnplbml1c0BlZmZp
+# Lm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AWIQTb5UOd
+# l9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEenKNcEACjJait
+# XHbkM6fxSIb0A59/Wp1E2EeTTcTlGsd7JZVJCXbe150+i0XMGpnyNizlONzOIGyq
+# bo7usL9ikB2AivlOqes3u+sLp+lSKhRGcZk1Yo2DRAgJwHX3TgexvEpKlAQBSYW6
+# 6fedGErW6hal+ptsA66qoDeFClWyTufHbl3e2E+RwFZ8AN9Pusqwsz9BwGELaAju
+# mW/E6l8en2m8AQqkN0jAz/JSUX6GguvcLjKVKlfTqlPjFxc6bDCs5iRALQJ0QKaX
+# ygD75PyLbcr0NtA2/nwQMfPhUMkxff3lnUQjjIHYnCDbDyV2y87GBHo2jepi6mgs
+# fx1YESf7+2YQdzDogwd1wAptPDtgqg4KnaRPh9OmWnYWgRnBy9WfLr9BNWVyuaRS
+# 2vq9POa54dsRyw71xVOSRNl6cvbiQPjhRe6rdqQ0PUhbZUltH23uSj9Ru7v8dIeT
+# DAq9F7Ccnli9KjQzqh6R9iEqe+zl4qjIn9ZBkcFxxWvv5usk6LJxyvbojjj4sH8r
+# SuuKvgqaOJwII58wZLq4ZF9q+8IrBnCKj3dQdyKyzPibIt5U3dsK/hxIGZk+HaOz
+# n68wQEQ+LbC3OCKzo6v2dto562I+QfOhd2mkXJX1mLnb2OB1faSaAYw4AOP/KNo1
+# S0QssoUYSmKc8deI/wXTuUNRDjkCqRhPLMkzFLQgTGFycyBXaXJ6ZW5pdXMgPGxh
+# cnNAZGViaWFuLm9yZz6JAlQEEwEKAD4CGwMFCwkIBwMFFQoJCAsFFgIDAQACHgEC
+# F4AWIQTb5UOdl9gmJmShsBhE4XdAuGEenAUCWz3OUgUJCg0wuAAKCRBE4XdAuGEe
+# nGOUD/42mhMGIjmhMPFCjP8imO+zDddL9n72IxMX+0u2TQLfkPbkqeyVLVO0qYu1
+# OfxF3ZHQ+St3YiYEOiUwuEz5OatJgtT37kRErp6RXSK8y3cjejJe57n/6C0axckU
+# xln6viOoaVM5FSCDEOSlBGMud1FkxYCjGEzKGd5tTmoSfBWGFdJNr794YROO1Yha
+# XEUSiE7Vf+oAdf4rz8bld0eUSN4TBU4DHCUdDhoybnS5u/1tfj3I/GwB6xOkL5wY
+# XGse8xMF3ZR7sqceLocRhj/eHdO+suRFuDvR8oQHlS3fVx7P1tnCy0m7M5CHPFVF
+# 1iSuf4MFCkQBy8zeBl+88uZ+qtYvDAWqx6wL1M7Mo50uzoxy3xrOTawX+UjeP+v7
+# ToembziDdJxG53VHT7bXUy5oCllZGanzCJMvyamnsKDrOoNcPjhTWsk22QkA0HUt
+# XOsIyw9FogCPrm3qM/PLxIZZYtG2QYG/8VUPYtOOekm2iHGFf3JVmeHtY+MpVKpg
+# 86DeYv9YSoEpTTNb2YuzoYaYP+TcAQ5I03kBK5c8a+YwKh7U0BOGS62kfV53M/5V
+# o5T+7YDp1NbZQHeYWXeZWfzycroUQlYhdR7Q0WaKNxPOeQCYG0mINIbwVC1g0nMp
+# vlVQg59jfMqNRc/wVd35u9BlDizW3//v0BgWRC06ULn9WA59grQiTGFycyBXaXJ6
+# ZW5pdXMgPGxpd0BxdmFybmxhYnMuY29tPokCVAQTAQoAPgIbAwULCQgHAwUVCgkI
+# CwUWAgMBAAIeAQIXgBYhBNvlQ52X2CYmZKGwGEThd0C4YR6cBQJbPc5SBQkKDTC4
+# AAoJEEThd0C4YR6cGY8P+wVZRxT7AGMDJm2b4BL/XhjMmPrUBa5tal9jCHSCHYpj
+# hiri1lTvdFJbAT025Sc7xn2sdjCHHndBsDMoAp+cdwJ69HGM39Lr61e3nvdgvJig
+# JzmeRUSQm55R+Sly7ApXwpAzZBaSGTm8BD2mvuQgQzNKISxbWtzL0v2rtn0kTJ/x
+# r3nj5MW2PbNO4UD/lVLjVWGu1q0HcfHNmzwsnOr/0ojLlV1vbudDq4KIHTcoLXEQ
+# O8L8R+8Zd86nbTE5Z40tDc9rsItWqiBOA5V3F+7v6zC5RnNt0zGgVrOSLa1VcHkn
+# dLMc2JBDvcbjAX5uAvnH9lJdp1fL4woDnTp5KtO/0B6P6ozy2cs/KzW8cLYfDtQI
+# pg+n7owOXoCgP3RLTx6f0rrE0DmeHO/zwUA1Lj8moMWtl1WWdDZaYUoT2l/l8lhb
+# APiQ/Dc1VF52B6zKt+z0+XJdJnDShKqx1MFGugR1IMRvmWifdSB0X41BrRKZOLgi
+# vHe0SwjBZ0NAix7YnKDM31kyjpdnb/3QSRw+aIdM3PI3taVppbjvRlWDbhOetY/6
+# GTfDJME9G393/n5J6eMMFyMLMu58RoZ/goXqKOxRD0l0ZgAxHToLhZf50PfaFH3a
+# 2BdL+424+8YPa+E9bxe1Vq860uiWKdxMkw2+deLX6CjSUgzZ50WxgBONCjIHp4Xb
+# uQINBFTzBOMBEADDMI2I7jhlRDB0zSyvnxgAU8t6B4bTo//0yPXvcb997vx16BUx
+# vzlZwiADzkMKE4vfQWZF6sJN9av5tdMMEzYlqPYt0O5/z+qh/r04lWdivTTG5w/7
+# BSW3r2RAtB5OeFtigtuRegEGA5I80P5P0psdOWlGWg+OflrMBDVdV2RUT9oKq1xn
+# eGXMAIswBEJ4a6O9jUyuTN8/65L/iyBGNQKGF+LyXu43Pq17vVGoLfJPxHA5ZE1w
+# fGHB4lccql+1dWv6+M2oQgrCKcmc8u/WzO1UoYhHz2oNX1nAxPkGjGuuzfL3w2Ty
+# I6ej/pclMYuIMqhZDwYHkpUlfSigDvJ+6x6XY6U+FVwOWLok6Gi9xorG7AgAnASd
+# XCJNRp10O2ThGnLhl+ED49ivr+JLeLUf4rP6W47RW0PhzyUHc6u7K2R0CtPVpzhk
+# WiMjye+uTMAmR076mAYQAzKv3v+Ga3tqBh/mDj5VE0WZoQbaURctFE1TqatqvK7x
+# 8hqPb658C93MQcw7kQVzlYHM996kHXr5vaNaSqGfpZyMeYPD/rqnbHASIn4ylLPZ
+# totauNwLSRdtG0El99666YwMuYamG6f1mxObBm2i69ZPwsVT8uOYZgIxgnQ58JcN
+# hBHJH+AIA3bMEj+VA6jkPdrUh+GHfgmgHb+BVgrtGoTXaofnCHzhLnJaQwARAQAB
+# iQQ+BBgBCAAJBQJU8wTjAhsCAikJEEThd0C4YR6cwV0gBBkBCAAGBQJU8wTjAAoJ
+# EGwvphbseiAxkmgP/20lakY9utuDDIsjnyOGB8S2eWa9ca8ZOqipzijEOxVqyRdm
+# 8EbAlsv0IDdvFC2PfDIu7Xm9m+UNeSrbtWlkl58UpBFh/eDFN2Ap0rKhOZPr/wZb
+# LzqEzfXvDNaeIM+oXzxc+2EHDJKDONt+/qF6Rw9sMuPqhIIGU08PVS/pLiuKaB72
+# cHmOj9cPMo7AIqccXC8jwHQkNc46AIdOCXIkzG43IIl3KmPhS/oywe+msfY+BoBn
+# EH9r6wO91gRRCyd30NM7rqjuJjuc2C8Cqv94LgZK009nT9+E1uWj6Nh6omDqohCf
+# GJnr2WjO+uWQH0J+FuPa9+NqiO1XubqiNTT/2EjPuKiKEzB/d4ywIyAvP/T8pOE+
+# ToW5sFLTR1BzCN0Vbq2a7+xYT5f7vLk2Q5Qzt6C43WiE8dQfXXylrZK4GhG0VvJP
+# jNMYM6LCUXYDH9vb1NnA3MHryGAK2JsHOET5IZ0g88DJw0z1SCQzpXp+JLouW7qd
+# 9nXdmCvSZ7m8o8yFUHp7D7Bv/52ZoH8We1mKtNuSc7LM2Tc/ZJVyMgFSSIJQ0tvK
+# m4EFAeCV+MaonDGZhbYeXIxd7LbVtNKDi6Mc4WKBmbAHWOTPlrBAVBGbUv3C1EqT
+# 9vfo7MjPiq5g6EJjzDoVhfZrzZzH7Fb5TcwVmxzvYj7rDXnsBBzLdCiDr3VzWa0P
+# /1+8B5u7vQqd7eMyN/627FSVDXjnDXr0Af89MP4LA1sYxjvaoq40+paJuwRliuh/
+# Fxv4yUvaE/nFTjSLjkkZrKPfnZP7N7N9DwcaixsIUe1eTDSNAwZQ6N5Ae+XEmuXV
+# AIoIzNoMuFGJ+pHlt0HNvAbVtsRajdsmhCNXV4TamaphZNuDfsJoX7KBxCu4U9xy
+# KxzT71BOqWYdJMSMSxzCLwdfISH8AK5PIbDifOeCzr3PI6/hGv7Ld7KuxmBtN/3a
+# 0YzhgT1F03hN/46qyYhnrL5hmoP2TaQeCipA+bpmPWSJDsUtyxHhgnrdFNFjciui
+# rPKWhams+L+rkwmFqUYB4NTwnIA3uetG5K7vydlHXpVP5/ZH4qgxBbx+n7FwVxBa
+# 9ALSNvpsjkvP9DOmfYXPTuNhm9vPLkBgiu1/01EqSpcLWIezd3Gy+SzZrywvHhld
+# 3udqvAvlQsHkWR7lAeYIUf7fdAvTg9YsjbA2t2jNXQUWE2fYEY4YQhfj+I9TNHcN
+# hjtyJErP5FfuaE+MFYh6mLjmrRHeQjJZC9dFRhz0QVGsjq64lKatZCIKuc6Clu3b
+# FC58gF2Za6LsU8u6aWyZQtVKbna+S/6p6O9D6D/IevIL7KPDat6wHJMaPtZF7bDU
+# wQZ7jrtAVvJjbq0uorOHSBD9/S9YxAdh/7wVWGvW++6wuQINBFTzBRUBEADL/xTV
+# PeCJszB6EKB1LetCqJPV/sEKIk/U0Jks5tyV5suHMpOgnJryZulGJuwvtE7VPCdj
+# nEHQ9/HD3fiINVmi1i4khhMYqE6L45Pd2ldXddIJD/Aq1ezcmYjdM8F+jKJK4IFV
+# YZ6lMA2dKL5VeSRndLzrhVp+u5JbQx4SDgae9iF7LrgmmnASuJWBLREEacHxT3j+
+# HPPbAx1z1xkON3gu/LNU4g9kD9YjJrX3wsqD6vED5RMlWauxgo8PFX4G/kbgI9v3
+# 2FsOxX6eUImbMt1svvcOb0gWH4A3q/lG04S6njYlgxJSCfxGTEDq6Il67XbbOIyY
+# rdRLZwrEQKvPoNT3t+WwY5Fd1oIHv03PgogZ0Gykd3b46fygwtAtmwb+JYM5GC4j
+# CQCjLaDgt2vR3fqdDLPlyCtjFbPdxgP7UhO6uTawUx0RDpKyI76ZzO6H+w2n+xFD
+# 1ErwssmIOkLSP6/w2Un3XnuGgWgd8KLhuTb8n8404/OxTiMvSoNxLiq5o5n/TXDt
+# BvqcLHVGRBpPOaUSdw3+zLmfiapRznr9CpYdkldCuSADUSeg/G+0uWa3ESpQK/rl
+# OQFrzh7psTEDSXV05fuphu2xmGxYq4x9amHQcIr0VrYKrQN7+W38sb5fQg3JCSdQ
+# njmVZaS2LCjcTYZYjbWnlq1yjbHYZKNUo/i/FQARAQABiQIfBBgBCAAJBQJU8wUV
+# AhsMAAoJEEThd0C4YR6cc5sQALPQpZw6UqsXIZvs48gN0htDC/v/F5B8cODjBnXz
+# SdC3Fq1FYGngiSNE4AwdmPzIc/fU+gqDTla+4b5wzsiqXt2E1YTnrYxR8fh6s89o
+# jjFoXHTFzqPWmsOQoxkLfPrdwN5lEyxIy4dUCxWMWJZhIgSHdRZz65buZxK4YrjH
+# wckXP4M0+XIT9kxr3FcICZ5rktbjxAq+g74biPcq9ibo7pQ5zSaJpph8hwZo2YOh
+# wUsPw4+5bM7uxudeDq2ianNbNSh/WwjEOjqXfHU53IZCoO+QY5AOs+i2Cj8q2xi/
+# egy8JqZvA9GkHnwckC4NQFLcXibNelBU82W8VYkXaq5nU0VTy9RFIN4hvA+29MQB
+# Swp6OEx0CTJ1/ibyW+w0065DqHMPDQaH1kLx+02fOxiNAx8ppwHOw3rHFygjF1/2
+# uM/IUBTXqS6oBTt9PmSzfbPrbLATjXerITF3/9ZyXWduQt1n12iulC0H+l701SnM
+# oc+HKXt36z8LK4ofV4+ewq8dHA0PBGB55jJOs4GEEoFwBFEfEI0T8yiw+TWylWQY
+# gor3PnV1FZKTads0MUYGPVvrrTmkd7zETwzMW0tr1tYfMsdZfdLPMsEz+/2nmsSz
+# HCwjRvU5bDCA1MXZpMqEZxn3rKVEM/V2ONNUultNUamGarBKzj8xIaeYZACy8SUh
+# 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
+# - rustup
+# - build_subplot_deb
+# - ick/upload_debs
+# - ick/save_workspace
+#
+# pipelines:
+#
+# - pipeline: list_files
+# actions:
+# - shell: |
+# pwd
+# find -ls
+# ls -d /proc
+# cd src
+# dpkg-checkbuilddeps
+# where: container
+#
+# - pipeline: build_subplot_deb
+# actions:
+# - where: container
+# shell: |
+# export HOME=/workspace
+# export PATH="$HOME/.cargo/bin:$PATH"
+#
+# cd /workspace/src
+# name="$(dpkg-parsechangelog -S Source)"
+# version="$(dpkg-parsechangelog -S Version)"
+# distribution="$(dpkg-parsechangelog -S Distribution)"
+#
+# 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}"
+#
+# git clean -fdx -e target
+# ./check -v
+# install -d /workspace/examples
+# install -m 0644 *.html *.pdf /workspace/examples/.
+#
+# export TMPDIR=/workspace
+# rm -f /workspace/*_*
+# ./build-deb /workspace
+#
+# cd /workspace
+# ls -l
+#
+# - action: rsync
+# where: host
diff --git a/ci-prod-systrees.ick b/ci-prod-systrees.ick
index 093d638..50792c8 100644
--- a/ci-prod-systrees.ick
+++ b/ci-prod-systrees.ick
@@ -1,85 +1,85 @@
-projects:
-
- - project: stretch-base
- parameters: &systree_base
- debian_codename: stretch
- packages:
- - apt-transport-https
- - jq
- - python3
- artifact_name: systrees-debian-stretch-base
- notify: [liw@liw.fi]
- pipelines:
- - ick/build_debian_systree
-
- - project: buster-base
- parameters:
- <<: *systree_base
- debian_codename: buster
- artifact_name: systrees-debian-buster-base
- pipelines:
- - ick/build_debian_systree
-
- - project: buster-build-essential
- parameters:
- systree_name: systrees-debian-buster-base
- artifact_name: systrees-debian-buster-build-essential
- packages:
- - apt-transport-https
- - build-essential
- - git
- - devscripts
- notify: [liw@liw.fi]
- pipelines:
- - ick/setup_container
- - ick/install_debian_packages
- - ick/archive_systree
-
- - project: buster-website
- parameters:
- debian_codename: buster
- systree_name: systrees-debian-buster-base
- artifact_name: systrees-debian-buster-website
- packages:
- - git
- - ikiwiki
- - rsync
- - locales-all
- - libimage-magick-perl
- - make
- - pandoc
- - pandoc-citeproc
- - texlive-latex-base
- - texlive-latex-recommended
- - texlive-fonts-recommended
- - librsvg2-bin
- - graphviz
- notify: [liw@liw.fi]
- pipelines:
- - ick/setup_container
- - ick/install_debian_packages
- - ick/archive_systree
- - ick/build_debian_systree
-
- - project: sid-base
- parameters:
- <<: *systree_base
- debian_codename: sid
- artifact_name: systrees-debian-sid-base
- pipelines:
- - ick/build_debian_systree
-
- - project: sid-build-essential
- parameters:
- systree_name: systrees-debian-sid-base
- artifact_name: systrees-debian-sid-build-essential
- packages:
- - apt-transport-https
- - build-essential
- - git
- - devscripts
- notify: [liw@liw.fi]
- pipelines:
- - ick/setup_container
- - ick/install_debian_packages
- - ick/archive_systree
+# projects:
+#
+# - project: stretch-base
+# parameters: &systree_base
+# debian_codename: stretch
+# packages:
+# - apt-transport-https
+# - jq
+# - python3
+# artifact_name: systrees-debian-stretch-base
+# notify: [liw@liw.fi]
+# pipelines:
+# - ick/build_debian_systree
+#
+# - project: buster-base
+# parameters:
+# <<: *systree_base
+# debian_codename: buster
+# artifact_name: systrees-debian-buster-base
+# pipelines:
+# - ick/build_debian_systree
+#
+# - project: buster-build-essential
+# parameters:
+# systree_name: systrees-debian-buster-base
+# artifact_name: systrees-debian-buster-build-essential
+# packages:
+# - apt-transport-https
+# - build-essential
+# - git
+# - devscripts
+# notify: [liw@liw.fi]
+# pipelines:
+# - ick/setup_container
+# - ick/install_debian_packages
+# - ick/archive_systree
+#
+# - project: buster-website
+# parameters:
+# debian_codename: buster
+# systree_name: systrees-debian-buster-base
+# artifact_name: systrees-debian-buster-website
+# packages:
+# - git
+# - ikiwiki
+# - rsync
+# - locales-all
+# - libimage-magick-perl
+# - make
+# - pandoc
+# - pandoc-citeproc
+# - texlive-latex-base
+# - texlive-latex-recommended
+# - texlive-fonts-recommended
+# - librsvg2-bin
+# - graphviz
+# notify: [liw@liw.fi]
+# pipelines:
+# - ick/setup_container
+# - ick/install_debian_packages
+# - ick/archive_systree
+# - ick/build_debian_systree
+#
+# - project: sid-base
+# parameters:
+# <<: *systree_base
+# debian_codename: sid
+# artifact_name: systrees-debian-sid-base
+# pipelines:
+# - ick/build_debian_systree
+#
+# - project: sid-build-essential
+# parameters:
+# systree_name: systrees-debian-sid-base
+# artifact_name: systrees-debian-sid-build-essential
+# packages:
+# - apt-transport-https
+# - build-essential
+# - git
+# - devscripts
+# notify: [liw@liw.fi]
+# pipelines:
+# - ick/setup_container
+# - ick/install_debian_packages
+# - ick/archive_systree
diff --git a/ci-prod-websites.ick b/ci-prod-websites.ick
index 2b37511..bde6bc5 100644
--- a/ci-prod-websites.ick
+++ b/ci-prod-websites.ick
@@ -1,442 +1,442 @@
-projects:
-
-- project: website-template
- parameters: &website_params
- rsync_src: html
- systree_name: systrees-debian-buster-website
- notify: [liw@liw.fi]
- apt_sources:
- - url: http://ci-prod-controller.vm.liw.fi/debian
- dist: unstable-ci
- section: main
- apt_signing_pub_keys:
- 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: &website_pipelines
- - ick/setup_container
- - ick/add_apt_signing_keys
- - ick/add_apt_sources
- - ick/restore_workspace
- - ick/get_sources
- - ikiwiki_subplot_incremental
- - ick/save_workspace
-
-- project: ideas.liw.fi
- parameters:
- <<: *website_params
- workspace_name: ideas.liw.fi
- rsync_src: publish
- rsync_target: ickliwfi@ideas.liw.fi:/srv/http/ideas.liw.fi
- sources:
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/ideas
- pipelines:
- - ick/setup_container
- - ick/add_apt_signing_keys
- - ick/add_apt_sources
- - ick/restore_workspace
- - ick/get_sources
- - build_and_publish_subplots
-
-- project: liw.fi
- parameters:
- <<: *website_params
- workspace_name: liw.fi
- rsync_src: html
- rsync_target: ickliwfi@liw.fi:/srv/http/liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/liw.fi
- pipelines: *website_pipelines
-
-- project: blog.liw.fi
- parameters:
- <<: *website_params
- workspace_name: blog.liw.fi
- rsync_src: html
- rsync_target: ickliwfi@blog.liw.fi:/srv/http/blog.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/blog.liw.fi
- pipelines: *website_pipelines
-
-- project: obnam.org
- parameters:
- <<: *website_params
- workspace_name: obnam.org
- rsync_src: html
- rsync_target: ickliwfi@obnam.org:/srv/http/obnam.org
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/obnam.org
- pipelines: *website_pipelines
-
-- project: 256.liw.fi
- parameters:
- <<: *website_params
- workspace_name: 256.liw.fi
- rsync_src: html
- rsync_target: ickliwfi@ideas.liw.fi:/srv/http/256.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/256.liw.fi
- pipelines:
- - ick/setup_container
- - ick/add_apt_signing_keys
- - ick/add_apt_sources
- - ick/restore_workspace
- - ick/get_sources
- - ikiwiki_subplot_incremental
- - ick/save_workspace
-
-- project: gtdfh.liw.fi
- parameters:
- <<: *website_params
- workspace_name: gtdfh.liw.fi
- rsync_src: html
- rsync_target: ickliwfi@ideas.liw.fi:/srv/http/gtdfh.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/gtdfh.liw.fi
- pipelines: *website_pipelines
-
-- project: journal.liw.fi
- parameters:
- <<: *website_params
- workspace_name: journal.liw.fi
- rsync_target: ickliwfi@journal.liw.fi:/srv/http/journal.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/private/liw/Journal
- pipelines: *website_pipelines
-
-- project: noir.liw.fi
- parameters:
- <<: *website_params
- workspace_name: noir.liw.fi
- rsync_target: ickliwfi@noir.liw.fi:/srv/http/noir.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: git://git.liw.fi/noir.liw.fi
- pipelines: *website_pipelines
-
-
-- project: seinfeld.liw.fi
- parameters:
- <<: *website_params
- workspace_name: seinfeld.liw.fi
- rsync_src: publish
- rsync_target: ickliwfi@ideas.liw.fi:/srv/http/seinfeld.liw.fi
- sources:
- - name: source
- ref: master
- location: src
- repo: ssh://git@git.liw.fi/seinfeld
- pipelines:
- - ick/setup_container
- - ick/add_apt_signing_keys
- - ick/add_apt_sources
- - ick/restore_workspace
- - ick/get_sources
- - run_make_and_publish_html
-
-- project: vmdb2.liw.fi
- parameters:
- <<: *website_params
- workspace_name: vmdb2.liw.fi
- rsync_target: ickliwfi@vmdb2.liw.fi:/srv/http/vmdb2.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: git://git.liw.fi/vmdb2.liw.fi
- pipelines: *website_pipelines
-
-- project: vmdb2-manual
- parameters:
- sources:
- - name: source
- ref: main
- location: src
- repo: git://git.liw.fi/vmdb2
- rsync_src: html
- rsync_target: ickliwfi@vmdb2-manual.liw.fi:/srv/http/vmdb2-manual.liw.fi
- systree_name: systrees-debian-buster-website
- notify: [liw@liw.fi]
- pipelines:
- - ick/setup_container
- - ick/get_sources
- - publish_vmdb2_manual
-
-- project: yuck.liw.fi
- parameters:
- <<: *website_params
- workspace_name: yuck.liw.fi
- sources:
- - name: source
- ref: main
- location: src
- repo: git://git.liw.fi/yuck
- rsync_src: publish
- rsync_target: ickliwfi@vmdb2-manual.liw.fi:/srv/http/yuck.liw.fi
- systree_name: systrees-debian-buster-website
- notify: [liw@liw.fi]
- pipelines:
- - ick/setup_container
- - ick/add_apt_signing_keys
- - ick/add_apt_sources
- - ick/restore_workspace
- - ick/get_sources
- - ick/get_sources
- - build_and_publish_yuck
-
-- project: manifesto
- parameters:
- <<: *website_params
- workspace_name: manifesto.liw.fi
- rsync_target: ickliwfi@manifesto.liw.fi:/srv/http/manifesto.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: ssh://git@git.liw.fi/private/liw/manifesto
- pipelines: *website_pipelines
-
-- project: ick.liw.fi
- parameters:
- <<: *website_params
- workspace_name: ick.liw.fi
- rsync_target: ickliwfi@ick.liw.fi:/srv/http/ick.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: git://git.liw.fi/ick.liw.fi
- pipelines: *website_pipelines
-
-
-- project: subplot.liw.fi
- parameters:
- <<: *website_params
- workspace_name: subplot.liw.fi
- rsync_target: ickliwfi@subplot.liw.fi:/srv/http/subplot.liw.fi
- sources:
- - name: pandoc-plugin
- ref: master
- location: ikiwiki-pandoc
- repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
- - name: source
- ref: main
- location: src
- repo: git://git.liw.fi/subplot.liw.fi
- notify:
- - liw@liw.fi
- - dsilvers@digital-scurf.org
- pipelines: *website_pipelines
-
-pipelines:
-
- - pipeline: ikiwiki_subplot_incremental
- parameters:
- - sources
- - rsync_src
- - rsync_target
- actions:
- - where: container
- shell: |
- apt-get update
- apt-get install -y subplot make pandoc texlive-latex-base \
- texlive-latex-recommended texlive-fonts-recommended \
- pandoc-citeproc librsvg2-bin graphviz
-
- # "Install" the plugin so ikiwiki can find it
- mkdir -p ikiwiki/IkiWiki/Plugin
- cp ikiwiki-pandoc/pandoc.pm ikiwiki/IkiWiki/Plugin
-
- if [ -e build ]
- then
- (cd build && git pull)
- opt=--refresh
- else
- git clone .mirrors/source build
- opt=
- if [ -e build/git-mtime.sh ]
- then
- (cd build && bash -x git-mtime.sh)
- fi
- fi
- (cd build && git show)
- find -ls
-
- cp build/ikiwiki.setup build.setup
- sed -i '/srcdir:/d' build.setup
- sed -i '/destdir:/d' build.setup
- echo 'srcdir: /workspace/build' >> build.setup
- echo 'destdir: /workspace/html' >> build.setup
-
- ikiwiki --verbose --setup build.setup --libdir /workspace/ikiwiki $opt
-
- - action: rsync
- where: host
-
- - pipeline: publish_vmdb2_manual
- parameters:
- - rsync_src
- - rsync_target
- actions:
- - shell: |
- apt update
- apt dist-upgrade -y
- apt install -y pandoc texlive texlive-xetex fonts-freefont-ttf
- mkdir html
- cd src
- ./format.sh
- cp vmdb2.html ../html/index.html
- cp vmdb2.pdf ../html/vmdb2.pdf
- where: container
-
- - action: rsync
- where: host
-
- - pipeline: build_and_publish_subplots
- parameters:
- - sources
- - rsync_src
- - rsync_target
- actions:
- - where: container
- shell: |
- apt-get update
- apt-get install -y subplot make pandoc texlive-latex-base \
- texlive-latex-recommended texlive-fonts-recommended \
- pandoc-citeproc librsvg2-bin graphviz
- mkdir publish
- cd src
- make
- cp *.html *.pdf /workspace/publish
-
- - action: rsync
- where: host
-
- - pipeline: build_and_publish_yuck
- parameters:
- - sources
- - rsync_src
- - rsync_target
- actions:
- - where: container
- shell: |
- apt-get update
- apt-get install -y subplot make pandoc texlive-latex-base \
- texlive-latex-recommended texlive-fonts-recommended \
- pandoc-citeproc librsvg2-bin graphviz plantuml
- mkdir publish
- cd src
- ./build.sh
- cp *.html *.pdf /workspace/publish
-
- - action: rsync
- where: host
-
-
- - pipeline: run_make_and_publish_html
- parameters:
- - sources
- - rsync_src
- - rsync_target
- actions:
- - where: container
- shell: |
- apt-get update
- apt-get install -y make python3 python3-yaml pcal
- mkdir publish
- cd src
- make
- cp *.html /workspace/publish
-
- - action: rsync
- where: host
+# projects:
+#
+# - project: website-template
+# parameters: &website_params
+# rsync_src: html
+# systree_name: systrees-debian-buster-website
+# notify: [liw@liw.fi]
+# apt_sources:
+# - url: http://ci-prod-controller.vm.liw.fi/debian
+# dist: unstable-ci
+# section: main
+# apt_signing_pub_keys:
+# 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: &website_pipelines
+# - ick/setup_container
+# - ick/add_apt_signing_keys
+# - ick/add_apt_sources
+# - ick/restore_workspace
+# - ick/get_sources
+# - ikiwiki_subplot_incremental
+# - ick/save_workspace
+#
+# - project: ideas.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: ideas.liw.fi
+# rsync_src: publish
+# rsync_target: ickliwfi@ideas.liw.fi:/srv/http/ideas.liw.fi
+# sources:
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/ideas
+# pipelines:
+# - ick/setup_container
+# - ick/add_apt_signing_keys
+# - ick/add_apt_sources
+# - ick/restore_workspace
+# - ick/get_sources
+# - build_and_publish_subplots
+#
+# - project: liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: liw.fi
+# rsync_src: html
+# rsync_target: ickliwfi@liw.fi:/srv/http/liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/liw.fi
+# pipelines: *website_pipelines
+#
+# - project: blog.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: blog.liw.fi
+# rsync_src: html
+# rsync_target: ickliwfi@blog.liw.fi:/srv/http/blog.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/blog.liw.fi
+# pipelines: *website_pipelines
+#
+# - project: obnam.org
+# parameters:
+# <<: *website_params
+# workspace_name: obnam.org
+# rsync_src: html
+# rsync_target: ickliwfi@obnam.org:/srv/http/obnam.org
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/obnam.org
+# pipelines: *website_pipelines
+#
+# - project: 256.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: 256.liw.fi
+# rsync_src: html
+# rsync_target: ickliwfi@ideas.liw.fi:/srv/http/256.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/256.liw.fi
+# pipelines:
+# - ick/setup_container
+# - ick/add_apt_signing_keys
+# - ick/add_apt_sources
+# - ick/restore_workspace
+# - ick/get_sources
+# - ikiwiki_subplot_incremental
+# - ick/save_workspace
+#
+# - project: gtdfh.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: gtdfh.liw.fi
+# rsync_src: html
+# rsync_target: ickliwfi@ideas.liw.fi:/srv/http/gtdfh.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/gtdfh.liw.fi
+# pipelines: *website_pipelines
+#
+# - project: journal.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: journal.liw.fi
+# rsync_target: ickliwfi@journal.liw.fi:/srv/http/journal.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/private/liw/Journal
+# pipelines: *website_pipelines
+#
+# - project: noir.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: noir.liw.fi
+# rsync_target: ickliwfi@noir.liw.fi:/srv/http/noir.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: git://git.liw.fi/noir.liw.fi
+# pipelines: *website_pipelines
+#
+#
+# - project: seinfeld.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: seinfeld.liw.fi
+# rsync_src: publish
+# rsync_target: ickliwfi@ideas.liw.fi:/srv/http/seinfeld.liw.fi
+# sources:
+# - name: source
+# ref: master
+# location: src
+# repo: ssh://git@git.liw.fi/seinfeld
+# pipelines:
+# - ick/setup_container
+# - ick/add_apt_signing_keys
+# - ick/add_apt_sources
+# - ick/restore_workspace
+# - ick/get_sources
+# - run_make_and_publish_html
+#
+# - project: vmdb2.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: vmdb2.liw.fi
+# rsync_target: ickliwfi@vmdb2.liw.fi:/srv/http/vmdb2.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: git://git.liw.fi/vmdb2.liw.fi
+# pipelines: *website_pipelines
+#
+# - project: vmdb2-manual
+# parameters:
+# sources:
+# - name: source
+# ref: main
+# location: src
+# repo: git://git.liw.fi/vmdb2
+# rsync_src: html
+# rsync_target: ickliwfi@vmdb2-manual.liw.fi:/srv/http/vmdb2-manual.liw.fi
+# systree_name: systrees-debian-buster-website
+# notify: [liw@liw.fi]
+# pipelines:
+# - ick/setup_container
+# - ick/get_sources
+# - publish_vmdb2_manual
+#
+# - project: yuck.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: yuck.liw.fi
+# sources:
+# - name: source
+# ref: main
+# location: src
+# repo: git://git.liw.fi/yuck
+# rsync_src: publish
+# rsync_target: ickliwfi@vmdb2-manual.liw.fi:/srv/http/yuck.liw.fi
+# systree_name: systrees-debian-buster-website
+# notify: [liw@liw.fi]
+# pipelines:
+# - ick/setup_container
+# - ick/add_apt_signing_keys
+# - ick/add_apt_sources
+# - ick/restore_workspace
+# - ick/get_sources
+# - ick/get_sources
+# - build_and_publish_yuck
+#
+# - project: manifesto
+# parameters:
+# <<: *website_params
+# workspace_name: manifesto.liw.fi
+# rsync_target: ickliwfi@manifesto.liw.fi:/srv/http/manifesto.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: ssh://git@git.liw.fi/private/liw/manifesto
+# pipelines: *website_pipelines
+#
+# - project: ick.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: ick.liw.fi
+# rsync_target: ickliwfi@ick.liw.fi:/srv/http/ick.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: git://git.liw.fi/ick.liw.fi
+# pipelines: *website_pipelines
+#
+#
+# - project: subplot.liw.fi
+# parameters:
+# <<: *website_params
+# workspace_name: subplot.liw.fi
+# rsync_target: ickliwfi@subplot.liw.fi:/srv/http/subplot.liw.fi
+# sources:
+# - name: pandoc-plugin
+# ref: master
+# location: ikiwiki-pandoc
+# repo: https://github.com/sciunto-org/ikiwiki-pandoc.git
+# - name: source
+# ref: main
+# location: src
+# repo: git://git.liw.fi/subplot.liw.fi
+# notify:
+# - liw@liw.fi
+# - dsilvers@digital-scurf.org
+# pipelines: *website_pipelines
+#
+# pipelines:
+#
+# - pipeline: ikiwiki_subplot_incremental
+# parameters:
+# - sources
+# - rsync_src
+# - rsync_target
+# actions:
+# - where: container
+# shell: |
+# apt-get update
+# apt-get install -y subplot make pandoc texlive-latex-base \
+# texlive-latex-recommended texlive-fonts-recommended \
+# pandoc-citeproc librsvg2-bin graphviz
+#
+# # "Install" the plugin so ikiwiki can find it
+# mkdir -p ikiwiki/IkiWiki/Plugin
+# cp ikiwiki-pandoc/pandoc.pm ikiwiki/IkiWiki/Plugin
+#
+# if [ -e build ]
+# then
+# (cd build && git pull)
+# opt=--refresh
+# else
+# git clone .mirrors/source build
+# opt=
+# if [ -e build/git-mtime.sh ]
+# then
+# (cd build && bash -x git-mtime.sh)
+# fi
+# fi
+# (cd build && git show)
+# find -ls
+#
+# cp build/ikiwiki.setup build.setup
+# sed -i '/srcdir:/d' build.setup
+# sed -i '/destdir:/d' build.setup
+# echo 'srcdir: /workspace/build' >> build.setup
+# echo 'destdir: /workspace/html' >> build.setup
+#
+# ikiwiki --verbose --setup build.setup --libdir /workspace/ikiwiki $opt
+#
+# - action: rsync
+# where: host
+#
+# - pipeline: publish_vmdb2_manual
+# parameters:
+# - rsync_src
+# - rsync_target
+# actions:
+# - shell: |
+# apt update
+# apt dist-upgrade -y
+# apt install -y pandoc texlive texlive-xetex fonts-freefont-ttf
+# mkdir html
+# cd src
+# ./format.sh
+# cp vmdb2.html ../html/index.html
+# cp vmdb2.pdf ../html/vmdb2.pdf
+# where: container
+#
+# - action: rsync
+# where: host
+#
+# - pipeline: build_and_publish_subplots
+# parameters:
+# - sources
+# - rsync_src
+# - rsync_target
+# actions:
+# - where: container
+# shell: |
+# apt-get update
+# apt-get install -y subplot make pandoc texlive-latex-base \
+# texlive-latex-recommended texlive-fonts-recommended \
+# pandoc-citeproc librsvg2-bin graphviz
+# mkdir publish
+# cd src
+# make
+# cp *.html *.pdf /workspace/publish
+#
+# - action: rsync
+# where: host
+#
+# - pipeline: build_and_publish_yuck
+# parameters:
+# - sources
+# - rsync_src
+# - rsync_target
+# actions:
+# - where: container
+# shell: |
+# apt-get update
+# apt-get install -y subplot make pandoc texlive-latex-base \
+# texlive-latex-recommended texlive-fonts-recommended \
+# pandoc-citeproc librsvg2-bin graphviz plantuml
+# mkdir publish
+# cd src
+# ./build.sh
+# cp *.html *.pdf /workspace/publish
+#
+# - action: rsync
+# where: host
+#
+#
+# - pipeline: run_make_and_publish_html
+# parameters:
+# - sources
+# - rsync_src
+# - rsync_target
+# actions:
+# - where: container
+# shell: |
+# apt-get update
+# apt-get install -y make python3 python3-yaml pcal
+# mkdir publish
+# cd src
+# make
+# cp *.html /workspace/publish
+#
+# - action: rsync
+# where: host