From df1bb2b1eafcf8344fae01ee006a46ca7c291641 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20K=C3=BCffner?= Date: Sun, 24 Oct 2021 11:00:16 +0000 Subject: [PATCH] add privisional buildscript; rearrange dockerfiles --- build.sh | 28 +++++++++++++++++++ .../klipper/Dockerfile | 0 .../mainsail/Dockerfile | 0 .../moonraker/Dockerfile | 0 {dockerfiles => docker}/octoprint/Dockerfile | 0 {dockerfiles => docker}/octoprint/plugins.txt | 0 .../ustreamer/Dockerfile | 0 dockerfiles/.dockerignore | 1 - 8 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 build.sh rename dockerfiles/klipper.Dockerfile => docker/klipper/Dockerfile (100%) rename dockerfiles/mainsail.Dockerfile => docker/mainsail/Dockerfile (100%) rename dockerfiles/moonraker.Dockerfile => docker/moonraker/Dockerfile (100%) rename {dockerfiles => docker}/octoprint/Dockerfile (100%) rename {dockerfiles => docker}/octoprint/plugins.txt (100%) rename dockerfiles/ustreamer.Dockerfile => docker/ustreamer/Dockerfile (100%) delete mode 100644 dockerfiles/.dockerignore diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..14efda3 --- /dev/null +++ b/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +set -e + +user=mkuf +platform="linux/amd64,linux/arm/v7" + +for file in $(find . -iname *Dockerfile* -type f); do + name=$(echo -n ${file} | rev | cut -f2 -d'/' | rev) + context=$(echo -n ${file} | rev | cut -f2- -d'/' | rev) + repo=$(grep "ARG REPO" ${file} | sed -r 's/.*REPO=(.*)$/\1/g') + + ## Only, if Dockerfile contains a repo + if ! [ -z "${repo}" ]; then + ref=$(git ls-remote ${repo} HEAD | cut -f1) + sref=$(echo -n ${ref} | cut -c 1-7) + + ## Nightly + docker manifest inspect ${user}/${name}:${sref} > /dev/null \ + || docker buildx build --build-arg VERSION=${ref} --platform ${platform} -t ${user}/${name}:${sref} -t ${user}/${name}:nightly --push ${context} + + ## Tags + for tag in $(git ls-remote --tags --refs ${repo} | tail -n10 | rev | cut -f1 -d'/' | rev); do + docker manifest inspect ${user}/${name}:${tag} > /dev/null \ + || docker buildx build --build-arg VERSION=${tag} --platform ${platform} -t ${user}/${name}:${tag} --push ${context} + done + fi +done diff --git a/dockerfiles/klipper.Dockerfile b/docker/klipper/Dockerfile similarity index 100% rename from dockerfiles/klipper.Dockerfile rename to docker/klipper/Dockerfile diff --git a/dockerfiles/mainsail.Dockerfile b/docker/mainsail/Dockerfile similarity index 100% rename from dockerfiles/mainsail.Dockerfile rename to docker/mainsail/Dockerfile diff --git a/dockerfiles/moonraker.Dockerfile b/docker/moonraker/Dockerfile similarity index 100% rename from dockerfiles/moonraker.Dockerfile rename to docker/moonraker/Dockerfile diff --git a/dockerfiles/octoprint/Dockerfile b/docker/octoprint/Dockerfile similarity index 100% rename from dockerfiles/octoprint/Dockerfile rename to docker/octoprint/Dockerfile diff --git a/dockerfiles/octoprint/plugins.txt b/docker/octoprint/plugins.txt similarity index 100% rename from dockerfiles/octoprint/plugins.txt rename to docker/octoprint/plugins.txt diff --git a/dockerfiles/ustreamer.Dockerfile b/docker/ustreamer/Dockerfile similarity index 100% rename from dockerfiles/ustreamer.Dockerfile rename to docker/ustreamer/Dockerfile diff --git a/dockerfiles/.dockerignore b/dockerfiles/.dockerignore deleted file mode 100644 index 6b8710a..0000000 --- a/dockerfiles/.dockerignore +++ /dev/null @@ -1 +0,0 @@ -.git