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