From a52edff7ea8a8b831e88211063280b69153f42fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Tue, 24 Nov 2020 12:38:49 +0100 Subject: Rework how we trigger and define jobs This simplifies jobs management and reduces duplicate input. --- .gitignore | 4 ++++ crontab | 15 ++----------- generate.sh | 44 +++++++++++++++++++++++++++++++++++++++ jobs/alpine-aarch64.conf | 1 - jobs/alpine-aarch64.env | 1 - jobs/alpine-aarch64.run | 1 - jobs/alpine-amd64.conf | 1 - jobs/alpine-amd64.env | 1 - jobs/alpine-amd64.run | 1 - jobs/alpine-armhf.conf | 1 - jobs/alpine-armhf.env | 2 -- jobs/alpine-armhf.run | 1 - jobs/alpine-armv7.conf | 1 - jobs/alpine-armv7.env | 2 -- jobs/alpine-armv7.run | 1 - jobs/alpine.run | 8 +++++++ jobs/turris-dragons-mox.conf | 1 - jobs/turris-dragons-mox.env | 3 --- jobs/turris-dragons-mox.run | 1 - jobs/turris-dragons-omnia.conf | 1 - jobs/turris-dragons-omnia.env | 3 --- jobs/turris-dragons-omnia.run | 1 - jobs/turris-dragons-turris1x.conf | 1 - jobs/turris-dragons-turris1x.env | 3 --- jobs/turris-dragons-turris1x.run | 1 - jobs/turris-kittens-mox.conf | 1 - jobs/turris-kittens-mox.env | 3 --- jobs/turris-kittens-mox.run | 1 - jobs/turris-kittens-omnia.conf | 1 - jobs/turris-kittens-omnia.env | 3 --- jobs/turris-kittens-omnia.run | 1 - jobs/turris-kittens-turris1x.conf | 1 - jobs/turris-kittens-turris1x.env | 3 --- jobs/turris-kittens-turris1x.run | 1 - jobs/turris-lions-mox.conf | 1 - jobs/turris-lions-mox.env | 3 --- jobs/turris-lions-mox.run | 1 - jobs/turris-lions-omnia.conf | 1 - jobs/turris-lions-omnia.env | 3 --- jobs/turris-lions-omnia.run | 1 - jobs/turris-lions-turris1x.conf | 1 - jobs/turris-lions-turris1x.env | 3 --- jobs/turris-lions-turris1x.run | 1 - jobs/turris.run | 9 ++++++++ ssh-hook.sh | 4 ++++ 45 files changed, 71 insertions(+), 72 deletions(-) create mode 100644 .gitignore create mode 100755 generate.sh delete mode 120000 jobs/alpine-aarch64.conf delete mode 100644 jobs/alpine-aarch64.env delete mode 120000 jobs/alpine-aarch64.run delete mode 120000 jobs/alpine-amd64.conf delete mode 100644 jobs/alpine-amd64.env delete mode 120000 jobs/alpine-amd64.run delete mode 120000 jobs/alpine-armhf.conf delete mode 100644 jobs/alpine-armhf.env delete mode 120000 jobs/alpine-armhf.run delete mode 120000 jobs/alpine-armv7.conf delete mode 100644 jobs/alpine-armv7.env delete mode 120000 jobs/alpine-armv7.run create mode 100755 jobs/alpine.run delete mode 120000 jobs/turris-dragons-mox.conf delete mode 100644 jobs/turris-dragons-mox.env delete mode 120000 jobs/turris-dragons-mox.run delete mode 120000 jobs/turris-dragons-omnia.conf delete mode 100644 jobs/turris-dragons-omnia.env delete mode 120000 jobs/turris-dragons-omnia.run delete mode 120000 jobs/turris-dragons-turris1x.conf delete mode 100644 jobs/turris-dragons-turris1x.env delete mode 120000 jobs/turris-dragons-turris1x.run delete mode 120000 jobs/turris-kittens-mox.conf delete mode 100644 jobs/turris-kittens-mox.env delete mode 120000 jobs/turris-kittens-mox.run delete mode 120000 jobs/turris-kittens-omnia.conf delete mode 100644 jobs/turris-kittens-omnia.env delete mode 120000 jobs/turris-kittens-omnia.run delete mode 120000 jobs/turris-kittens-turris1x.conf delete mode 100644 jobs/turris-kittens-turris1x.env delete mode 120000 jobs/turris-kittens-turris1x.run delete mode 120000 jobs/turris-lions-mox.conf delete mode 100644 jobs/turris-lions-mox.env delete mode 120000 jobs/turris-lions-mox.run delete mode 120000 jobs/turris-lions-omnia.conf delete mode 100644 jobs/turris-lions-omnia.env delete mode 120000 jobs/turris-lions-omnia.run delete mode 120000 jobs/turris-lions-turris1x.conf delete mode 100644 jobs/turris-lions-turris1x.env delete mode 120000 jobs/turris-lions-turris1x.run create mode 100755 jobs/turris.run diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6ac2e34 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +jobs/alpine-* + +jobs/turris-* +!jobs/turris-updater-conf.* diff --git a/crontab b/crontab index d636702..481b9e3 100644 --- a/crontab +++ b/crontab @@ -1,13 +1,2 @@ -0 1 * * * LAMINAR_REASON="Periodic" laminarc queue alpine-amd64 -0 1 * * * LAMINAR_REASON="Periodic" laminarc queue alpine-aarch64 -0 1 * * * LAMINAR_REASON="Periodic" laminarc queue alpine-armv7 -0 1 * * * LAMINAR_REASON="Periodic" laminarc queue alpine-armhf -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-dragons-mox -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-dragons-omnia -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-dragons-turris1x -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-lions-mox -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-lions-omnia -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-lions-turris1x -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-kittens-mox -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-kittens-omnia -0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris-kittens-turris1x +0 1 * * * LAMINAR_REASON="Periodic" laminarc queue alpine +0 2 * * * LAMINAR_REASON="Periodic" laminarc queue turris diff --git a/generate.sh b/generate.sh new file mode 100755 index 0000000..70e80d4 --- /dev/null +++ b/generate.sh @@ -0,0 +1,44 @@ +#!/bin/bash +set -eu +cd "$(dirname "$(readlink -f "$0")")" + +# Turris ######################################################################### +declare -A boards animals +boards=(["mox"]="aarch64_cortex-a53" ["omnia"]="arm_cortex-a9_vfpv3-d16" ["turris1x"]="powerpc_8540") +animals=(["turtles"]="hbt" ["kittens"]="hbk" ["lions"]="hbl" ["dragons"]="hbd") + +for animal in "${!animals[@]}"; do + for board in "${!boards[@]}"; do + job="turris-$animal-$board" + echo "Generating: $job" + ln -sf ../templates/turris.run "jobs/$job.run" + ln -sf ../templates/turris.conf "jobs/$job.conf" + cat >"jobs/$job.env" <<-EOF + BOARD=$board + ANIMAL=${animals[$animal]} + ARCH=${boards[$board]} + EOF + done +done + + +# Alpine ######################################################################### +declare -A archmap qemu +archs=("aarch64" "amd64" "armhf" "armv7") +archmap=(["amd64"]="x86_64") +qemu=(["armhf"]="arm" ["armv7"]="arm") + +for arch in "${archs[@]}"; do + job="alpine-$arch" + echo "Generating: $job" + ln -sf ../templates/alpine.run "jobs/$job.run" + ln -sf ../templates/alpine.conf "jobs/$job.conf" + if [ -n "${archmap[$arch]+x}" ]; then + arch="${archmap[$arch]}" + fi + { + echo "ARCH=$arch" + [ -z "${qemu[$arch]+x}" ] || \ + echo "QEMU_ARCH=${qemu[$arch]}" + } >"jobs/$job.env" +done diff --git a/jobs/alpine-aarch64.conf b/jobs/alpine-aarch64.conf deleted file mode 120000 index 6b2fe0b..0000000 --- a/jobs/alpine-aarch64.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.conf \ No newline at end of file diff --git a/jobs/alpine-aarch64.env b/jobs/alpine-aarch64.env deleted file mode 100644 index 737d645..0000000 --- a/jobs/alpine-aarch64.env +++ /dev/null @@ -1 +0,0 @@ -ARCH=aarch64 diff --git a/jobs/alpine-aarch64.run b/jobs/alpine-aarch64.run deleted file mode 120000 index 7fcd92b..0000000 --- a/jobs/alpine-aarch64.run +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.run \ No newline at end of file diff --git a/jobs/alpine-amd64.conf b/jobs/alpine-amd64.conf deleted file mode 120000 index 6b2fe0b..0000000 --- a/jobs/alpine-amd64.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.conf \ No newline at end of file diff --git a/jobs/alpine-amd64.env b/jobs/alpine-amd64.env deleted file mode 100644 index 7315763..0000000 --- a/jobs/alpine-amd64.env +++ /dev/null @@ -1 +0,0 @@ -ARCH=x86_64 diff --git a/jobs/alpine-amd64.run b/jobs/alpine-amd64.run deleted file mode 120000 index 7fcd92b..0000000 --- a/jobs/alpine-amd64.run +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.run \ No newline at end of file diff --git a/jobs/alpine-armhf.conf b/jobs/alpine-armhf.conf deleted file mode 120000 index 6b2fe0b..0000000 --- a/jobs/alpine-armhf.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.conf \ No newline at end of file diff --git a/jobs/alpine-armhf.env b/jobs/alpine-armhf.env deleted file mode 100644 index 73642e4..0000000 --- a/jobs/alpine-armhf.env +++ /dev/null @@ -1,2 +0,0 @@ -ARCH=armhf -QEMU_ARCH=arm diff --git a/jobs/alpine-armhf.run b/jobs/alpine-armhf.run deleted file mode 120000 index 7fcd92b..0000000 --- a/jobs/alpine-armhf.run +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.run \ No newline at end of file diff --git a/jobs/alpine-armv7.conf b/jobs/alpine-armv7.conf deleted file mode 120000 index 6b2fe0b..0000000 --- a/jobs/alpine-armv7.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.conf \ No newline at end of file diff --git a/jobs/alpine-armv7.env b/jobs/alpine-armv7.env deleted file mode 100644 index 9577277..0000000 --- a/jobs/alpine-armv7.env +++ /dev/null @@ -1,2 +0,0 @@ -ARCH=armv7 -QEMU_ARCH=arm diff --git a/jobs/alpine-armv7.run b/jobs/alpine-armv7.run deleted file mode 120000 index 7fcd92b..0000000 --- a/jobs/alpine-armv7.run +++ /dev/null @@ -1 +0,0 @@ -../templates/alpine.run \ No newline at end of file diff --git a/jobs/alpine.run b/jobs/alpine.run new file mode 100755 index 0000000..d84b7a3 --- /dev/null +++ b/jobs/alpine.run @@ -0,0 +1,8 @@ +#!/bin/sh +# vim: ft=sh +set -eu +cd "$(dirname "$(readlink -f "$0")")" + +for job in alpine-*.run; do + laminarc queue "$job" +done diff --git a/jobs/turris-dragons-mox.conf b/jobs/turris-dragons-mox.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-dragons-mox.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-dragons-mox.env b/jobs/turris-dragons-mox.env deleted file mode 100644 index 350ce74..0000000 --- a/jobs/turris-dragons-mox.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=mox -ANIMAL=hbd -ARCH=aarch64_cortex-a53 diff --git a/jobs/turris-dragons-mox.run b/jobs/turris-dragons-mox.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-dragons-mox.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-dragons-omnia.conf b/jobs/turris-dragons-omnia.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-dragons-omnia.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-dragons-omnia.env b/jobs/turris-dragons-omnia.env deleted file mode 100644 index 32ec245..0000000 --- a/jobs/turris-dragons-omnia.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=omnia -ANIMAL=hbd -ARCH=arm_cortex-a9_vfpv3-d16 diff --git a/jobs/turris-dragons-omnia.run b/jobs/turris-dragons-omnia.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-dragons-omnia.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-dragons-turris1x.conf b/jobs/turris-dragons-turris1x.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-dragons-turris1x.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-dragons-turris1x.env b/jobs/turris-dragons-turris1x.env deleted file mode 100644 index 8470982..0000000 --- a/jobs/turris-dragons-turris1x.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=turris1x -ANIMAL=hbd -ARCH=powerpc_8540 diff --git a/jobs/turris-dragons-turris1x.run b/jobs/turris-dragons-turris1x.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-dragons-turris1x.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-kittens-mox.conf b/jobs/turris-kittens-mox.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-kittens-mox.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-kittens-mox.env b/jobs/turris-kittens-mox.env deleted file mode 100644 index d9adf5f..0000000 --- a/jobs/turris-kittens-mox.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=mox -ANIMAL=hbk -ARCH=aarch64_cortex-a53 diff --git a/jobs/turris-kittens-mox.run b/jobs/turris-kittens-mox.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-kittens-mox.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-kittens-omnia.conf b/jobs/turris-kittens-omnia.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-kittens-omnia.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-kittens-omnia.env b/jobs/turris-kittens-omnia.env deleted file mode 100644 index 1c70cdb..0000000 --- a/jobs/turris-kittens-omnia.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=omnia -ANIMAL=hbk -ARCH=arm_cortex-a9_vfpv3-d16 diff --git a/jobs/turris-kittens-omnia.run b/jobs/turris-kittens-omnia.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-kittens-omnia.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-kittens-turris1x.conf b/jobs/turris-kittens-turris1x.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-kittens-turris1x.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-kittens-turris1x.env b/jobs/turris-kittens-turris1x.env deleted file mode 100644 index c4e4b5b..0000000 --- a/jobs/turris-kittens-turris1x.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=turris1x -ANIMAL=hbk -ARCH=powerpc_8540 diff --git a/jobs/turris-kittens-turris1x.run b/jobs/turris-kittens-turris1x.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-kittens-turris1x.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-lions-mox.conf b/jobs/turris-lions-mox.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-lions-mox.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-lions-mox.env b/jobs/turris-lions-mox.env deleted file mode 100644 index dbfdc84..0000000 --- a/jobs/turris-lions-mox.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=mox -ANIMAL=hbl -ARCH=aarch64_cortex-a53 diff --git a/jobs/turris-lions-mox.run b/jobs/turris-lions-mox.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-lions-mox.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-lions-omnia.conf b/jobs/turris-lions-omnia.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-lions-omnia.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-lions-omnia.env b/jobs/turris-lions-omnia.env deleted file mode 100644 index f569f32..0000000 --- a/jobs/turris-lions-omnia.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=omnia -ANIMAL=hbl -ARCH=arm_cortex-a9_vfpv3-d16 diff --git a/jobs/turris-lions-omnia.run b/jobs/turris-lions-omnia.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-lions-omnia.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris-lions-turris1x.conf b/jobs/turris-lions-turris1x.conf deleted file mode 120000 index fafbc63..0000000 --- a/jobs/turris-lions-turris1x.conf +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.conf \ No newline at end of file diff --git a/jobs/turris-lions-turris1x.env b/jobs/turris-lions-turris1x.env deleted file mode 100644 index 2171d68..0000000 --- a/jobs/turris-lions-turris1x.env +++ /dev/null @@ -1,3 +0,0 @@ -BOARD=turris1x -ANIMAL=hbl -ARCH=powerpc_8540 diff --git a/jobs/turris-lions-turris1x.run b/jobs/turris-lions-turris1x.run deleted file mode 120000 index 683ec07..0000000 --- a/jobs/turris-lions-turris1x.run +++ /dev/null @@ -1 +0,0 @@ -../templates/turris.run \ No newline at end of file diff --git a/jobs/turris.run b/jobs/turris.run new file mode 100755 index 0000000..dc07fd9 --- /dev/null +++ b/jobs/turris.run @@ -0,0 +1,9 @@ +#!/bin/sh +# vim: ft=sh +set -eu +cd "$(dirname "$(readlink -f "$0")")" + +for job in turris-*.run; do + #laminarc queue "$job" + echo laminarc queue "$job" +done diff --git a/ssh-hook.sh b/ssh-hook.sh index 2980c03..6b34258 100755 --- a/ssh-hook.sh +++ b/ssh-hook.sh @@ -8,6 +8,10 @@ if [ -z "$SSH_ORIGINAL_COMMAND" ]; then git fetch --prune --force git reset --hard origin/master + echo "Clean up and generate" + git clean -xdff + ./generate.sh + echo "Deploy ssh configuration" cp ssh/config ~/.ssh/config cp ssh/authorized_keys ~/.ssh/authorized_keys -- cgit v1.2.3