projects: - project: buster-build-essential parameters: debian_codename: buster packages: - apt-transport-https - build-essential - curl - devscripts - git - jq - python3 artifact_name: buster-build-essential notify: [liw@liw.fi] pipelines: - ick/build_debian_systree - project: bullseye-website parameters: debian_codename: bullseye packages: - apt-transport-https - git - graphviz - ikiwiki - jq - libimage-magick-perl - librsvg2-bin - make - pandoc - pandoc-citeproc - pcal - python3 - python3-yaml - texlive-fonts-recommended - texlive-latex-base - texlive-latex-recommended artifact_name: bullseye-website notify: [liw@liw.fi] pipelines: - ick/build_debian_systree - project: bullseye-build-essential parameters: debian_codename: bullseye packages: - apt-transport-https - build-essential - curl - devscripts - git - jq - python3 artifact_name: bullseye-build-essential notify: [liw@liw.fi] pipelines: - ick/build_debian_systree - project: dummy-website parameters: &website_params rsync_src: html systree_name: bullseye-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 - ick/save_workspace - project: dummy-program parameters: &dummy_program_params DEBFULLNAME: Lars Wirzenius DEBEMAIL: liw@liw.fi apt_sources: - url: http://ci-prod-controller.vm.liw.fi/debian dist: unstable-ci section: main rsync_src: publish rsync_target: ickliwfi@http.liw.fi:/srv/http/unused systree_name: bullseye-build-essential distribution_ci: unstable-ci distribution_rel: unstable 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/restore_workspace - remove_debs_from_workspace - ick/get_sources - ick/install_debian_build_dependencies - ick/build_deb_ci - build_deb_releases - ick/upload_debs - ick/save_workspace - project: dummy-rust-checked-program pipelines: &deb_ci_rustup_with_check_pipelines - ick/setup_container - ick/add_apt_signing_keys - ick/add_apt_sources - ick/restore_workspace - remove_debs_from_workspace - ick/get_sources - rustup - ick/install_debian_build_dependencies - rust_run_check_if_there - build_deb_ci_with_rustup_rust - build_deb_releases - ick/upload_debs - format_subplots - ick/save_workspace - project: dummy-rust-unchecked-program pipelines: &deb_ci_rustup_without_check_pipelines - ick/setup_container - ick/add_apt_signing_keys - ick/add_apt_sources - ick/restore_workspace - remove_debs_from_workspace - ick/get_sources - rustup - ick/install_debian_build_dependencies - build_deb_ci_with_rustup_rust - build_deb_releases - ick/upload_debs - format_subplots - ick/save_workspace - project: obnam-benchmark-results parameters: <<: *dummy_program_params sources: - name: code repo: git://git.liw.fi/obnam-benchmark-results ref: main location: src rsync_target: ickliwfi@http.liw.fi:/srv/http/doc.obnam.org/obnam-benchmark-results workspace_name: obnam-benchmark-results pipelines: - ick/setup_container - ick/add_apt_signing_keys - ick/add_apt_sources - ick/restore_workspace - ick/get_sources - generate_obnam_benchmark_report - ick/save_workspace pipelines: - pipeline: ikiwiki parameters: - sources - rsync_src - rsync_target actions: - where: container shell: | # Install Subplot. apt-get install -y pandoc-filter-diagram # "Install" the Pandoc 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 (set -eu cd build git show # Set file mtime from its latest git commit time git ls-tree -r -t --full-name --name-only -z HEAD | xargs -0 -i'{}' -n1 sh -c 'touch -d "$(git log --pretty=format:%cI -1 HEAD -- "{}")" "{}"' -- 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: subplots parameters: - sources - rsync_src - rsync_target actions: - where: container shell: | apt-get install -y subplot plantuml command -v javac mkdir -p html cd src ls -la make find . -maxdepth 1 -name '*.html' -o -name '*.pdf' | while read file; do mv "$file" ../html; done - action: rsync where: host - pipeline: rustup actions: - where: container shell: | echo Installing Rust with rustup # Install Rust into the workspace so that it's preserved. export HOME=/workspace export PATH="$HOME/.cargo/bin:$PATH" if command -v rustup > /dev/null then echo "Rustup installed, checking if it's time to update" 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 echo "Rustup NOT installed, installing it" curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh sh rustup.sh -y fi - pipeline: format_subplots parameters: - rsync_src - rsync_target actions: - where: container shell: | apt-get install -y \ texlive-latex-base \ texlive-latex-recommended \ texlive-fonts-recommended \ plantuml mkdir -p /workspace/publish # In case we're building Subplot itself, add the Rust # target/debug directory to $PATH. PATH="/workspace/src/target/debug:$PATH" opts="--resources $(pwd)/src/share" output=/workspace/publish find src -name "*.subplot" | grep -Fv .gitlab/ | while read file do base="$(basename "$file" .subplot)" ( cd "$(dirname "$file")" if subplot $opts metadata --merciful "$base.subplot" | awk '/^title:/ && NF > 1' | grep . then subplot $opts docgen --merciful "$base.subplot" -o "$output/$base.html" fi ) done find /workspace/publish -type f -exec chmod 0644 '{}' + find /workspace/publish -ls - where: host action: rsync - pipeline: build_deb_ci_with_rustup_rust parameters: - sources - distribution_ci actions: - where: container shell: | echo build_deb_ci_with_rustup_rust export PATH="/workspace/.cargo/bin:$PATH" export HOME=/workspace export TMPDIR=/workspace which cargo which rustc rustup default stable rustc --version cargo --version command -v cargo type --all cargo # Force use of rustup cargo instead of cargo as packaged by # Debian. dh-cargo hardcodes /usr/bin/cargo. mv /usr/bin/cargo /usr/bin/cargo.debian ln -nsf /workspace/.cargo/bin/cargo /usr/bin/cargo rm -f ./*_*.* cd /workspace/src git clean -fdx -e target name="$(dpkg-parsechangelog -S Source)" version="$(dpkg-parsechangelog -S Version)" distribution=unstable 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 archive HEAD | xz > "../${name}_${upstream}.orig.tar.xz" dch --no-conf -v "$civersion" -D "${distribution}-ci" --force-distribution "CI build" rustc --version cargo --version if ! dpkg-buildpackage -us -uc -sa then echo dpkg-buildpackage failed for diff in /tmp/*.diff.* do echo "$diff" cat "$diff" done exit 1 fi # Undo previous hack. rm /usr/bin/cargo mv /usr/bin/cargo.debian /usr/bin/cargo - pipeline: rust_run_check_if_there actions: - where: container shell: | # Use workspace for things. export HOME=/workspace export PATH="$HOME/.cargo/bin:$PATH" export TMPDIR=/workspace # Set up rustup Rust to use stable version of Rust. rustup default stable rustup show # Install "cargo deny" cargo install --locked cargo-deny cd /workspace/src if [ -e check ] then rustc --version git show # Clean up so that tests run in a repeatable environment. git clean -fdx # Run build-time tests. if grep -q '^#!/bin/bash' check || grep -q '^#!/bin/sh' check then bash -x ./check else ./check -v fi fi - pipeline: build_deb_releases actions: - where: container shell: | if ! [ -e debian ] then echo this is not a Debian package exit 0 fi echo Trying to build any new release as a Debian package # Use workspace for things. export HOME=/workspace export PATH="$HOME/.cargo/bin:$PATH" export TMPDIR=/workspace rm -rf ick-helpers git clone git://git.liw.fi/ick-helpers # Set up rustup Rust to use stable version of Rust. rustup default stable rustup show rustc --version cargo --version cd /workspace/src # Build new releases. echo looking for new releases to build git pull --tags git tag -l # Always build newest tag; this is for debugging the pipeline. if false; then echo ===== tweak so that we are building last 2 tags rm -f /workspace/built_tags touch /workspace/built_tags /workspace/ick-helpers/list_new_release_tags /workspace/built_tags echo all new tags cat /workspace/built_tags tac < /workspace/built_tags | tail +2 > foo mv foo /workspace/built_tags echo tags that have been built cat /workspace/built_tags echo ===== finished tweaking fi /workspace/ick-helpers/list_new_release_tags /workspace/built_tags > /workspace/new_tags cat /workspace/new_tags cat /workspace/new_tags | while read tag do echo "New release tag: $tag" /workspace/ick-helpers//build_release_deb.sh /workspace "$tag" echo "Finished building tag $tag" done echo "Finished building release debs (if any)" - pipeline: remove_debs_from_workspace actions: - where: container shell: | find -maxdepth 1 -type f -name "*_*.*" -delete ls -la - pipeline: rebase_liw_debian_on_main actions: - where: container shell: | cd src git config --local user.name Ick git config --local user.email liw@liw.fi git branch -a git checkout liw/debian git rebase main - pipeline: generate_obnam_benchmark_report parameters: - rsync_src - rsync_target actions: - where: container shell: | apt-get update apt-get install -y obnam-benchmark pandoc rm -rf publish mkdir publish cd src ./report.sh *.json mv obnam-benchmark.html ../publish/index.html cat ../publish/index.html find ../publish -type f -exec chmod 0644 '{}' + - where: host action: rsync - pipeline: format_and_publish_markdowns_as_html parameters: - rsync_src - rsync_target actions: - where: container shell: | apt-get install -y pandoc output=/workspace/publish mkdir -p "$output" find src -name "*.md" | grep -Fv .gitlab/ | while read file do base="$(basename "$file" .md)" pandoc -f markdown-smart -t html "$file" -o "$output/$base.html" done find "$output" -type f -exec chmod 0644 '{}' + - where: host action: rsync