diff options
author | Lars Wirzenius <liw@liw.fi> | 2023-07-09 18:37:08 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2023-07-09 18:40:14 +0300 |
commit | 25b81f01eda60332270b35c8042bec044f972d0e (patch) | |
tree | ec9c53b8e808917eba38dd09f45b48f671b45da9 | |
parent | 059df6da440b2139881fbadece0d3686f199eec1 (diff) | |
download | ambient-ci-25b81f01eda60332270b35c8042bec044f972d0e.tar.gz |
feat: add scripts to build my ikiwiki sites
Sponsored-by: author
-rw-r--r-- | ikiwiki-ambient-script | 12 | ||||
-rwxr-xr-x | ikiwiki.sh | 28 | ||||
-rw-r--r-- | ikiwiki.yml | 56 |
3 files changed, 96 insertions, 0 deletions
diff --git a/ikiwiki-ambient-script b/ikiwiki-ambient-script new file mode 100644 index 0000000..19cc585 --- /dev/null +++ b/ikiwiki-ambient-script @@ -0,0 +1,12 @@ +#!/bin/bash + +set -xeuo pipefail + +export HOME=/workspace + +mkdir /workspace/html +sed -i 's#^srcdir:.*#srcdir: /workspace/src#' ikiwiki.setup +sed -i 's#^destdir:.*#destdir: /workspace/html#' ikiwiki.setup + +ikiwiki --setup ikiwiki.setup --libdir /workspace/deps --rebuild --verbose +tar -cf "$1" -C /workspace/html . diff --git a/ikiwiki.sh b/ikiwiki.sh new file mode 100755 index 0000000..de71ea8 --- /dev/null +++ b/ikiwiki.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -xeuo pipefail + +setup="$1" + +srcdir="$(sed -n '/^srcdir: */s///p' "$setup")" +destdir="$(sed -n '/^destdir: */s///p' "$setup")" + +artifact="$(mktemp)" +artifactdir="$(mktemp -d)" +trap 'rm -rf "$artifact $artifactdir"' EXIT + +if [ ! -e "$srcdir/.ambient-script" ]; then + cp ikiwiki-ambient-script "$srcdir/.ambient-script" +fi +./ambient-run \ + --image ~/tmp/ambient/ambient-ikiwiki.qcow2 \ + --artifact "$artifact" \ + --dependencies ~/.ikiwiki/ \ + --log ~/tmp/ambient/log \ + "$srcdir" + +remote=_ewww@web +ssh "$remote" install -d /srv/http/web/. + +tar -C "$artifactdir" -xf "$artifact" +rsync -a --del "$artifactdir/." "$remote:/srv/http/." diff --git a/ikiwiki.yml b/ikiwiki.yml new file mode 100644 index 0000000..81346c8 --- /dev/null +++ b/ikiwiki.yml @@ -0,0 +1,56 @@ +- hosts: image + tasks: + + - name: "add PGP key for Lars's APT repository" + copy: + content: | + -----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----- + dest: /etc/apt/trusted.gpg.d/ci-prod.asc + + - name: "add Lars's APT repository" + apt_repository: + repo: | + deb http://ci-prod-controller.vm.liw.fi/debian unstable-ci main + + - name: "install tools for ikiwiki" + apt: + name: + - ikiwiki + - pandoc + - pandoc-filter-diagram + + - name: "install rustup" + shell: | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rustup.sh + sh /tmp/rustup.sh -y --no-modify-path + + vars: + ansible_python_interpreter: /usr/bin/python3 |