diff options
author | nachoparker <nacho@ownyourbits.com> | 2021-10-11 18:58:42 +0300 |
---|---|---|
committer | nachoparker <nacho@ownyourbits.com> | 2021-10-12 00:55:47 +0300 |
commit | f3fda8f9488579b2fa901d235ab56d25f491e6fc (patch) | |
tree | 435b4aa9ddc1d1da54851dc768e5a4455cc87612 | |
parent | 76fbf5038e4fca840f3b482e5de635e073023d7d (diff) |
build: refactor
Signed-off-by: nachoparker <nacho@ownyourbits.com>
-rwxr-xr-x | build/batch.sh | 80 | ||||
-rwxr-xr-x | build/build-LXC.sh | 2 | ||||
-rwxr-xr-x | build/build-LXD.sh | 2 | ||||
-rwxr-xr-x | build/build-SD-armbian.sh | 2 | ||||
-rwxr-xr-x | build/build-SD-berryboot.sh | 2 | ||||
-rwxr-xr-x | build/build-SD-rpi.sh | 2 | ||||
-rwxr-xr-x | build/build-VM.sh | 4 | ||||
-rw-r--r-- | build/buildlib.sh | 98 |
8 files changed, 94 insertions, 98 deletions
diff --git a/build/batch.sh b/build/batch.sh index 751796f4..3a4994ed 100755 --- a/build/batch.sh +++ b/build/batch.sh @@ -37,27 +37,8 @@ build/build-docker.sh x86 # Tests [[ "${SKIP_TESTS}" != 1 ]] && { - ## LXC testing - lxc stop ncp || true - lxc start ncp - lxc exec ncp -- bash -c 'while [ "$(systemctl is-system-running 2>/dev/null)" != "running" ] && [ "$(systemctl is-system-running 2>/dev/null)" != "degraded" ]; do :; done' - ip="$(lxc exec ncp -- bash -c 'source /usr/local/etc/library.sh && get_ip')" - tests/activation_tests.py "${ip}" - tests/nextcloud_tests.py "${ip}" - tests/system_tests.py - lxc stop ncp - - ## Docker testing - cd build/docker - docker compose down - docker volume rm docker_ncdata - docker compose up -d - sleep 30 - ../../tests/activation_tests.py - ../../tests/nextcloud_tests.py - ../../tests/system_tests.py - docker compose down - cd - + test_lxc + test_docker } # Docker other @@ -66,7 +47,7 @@ build/build-docker.sh arm64 # Raspbian build/build-SD-rpi.sh -IMG="$( ls -1t tmp/*.img | head -1 )" +IMG="$(ls -1t tmp/*.img | head -1)" build/build-SD-berryboot.sh "$IMG" # Armbian @@ -82,59 +63,10 @@ build/build-SD-armbian.sh odroidc2 OdroidC2 # VM build/build-VM.sh +# Uploads [[ "$FTPPASS" == "" ]] && exit - -export DOCKER_CLI_EXPERIMENTAL=enabled - -docker push ownyourbits/nextcloudpi-x86:latest -docker push ownyourbits/nextcloudpi-x86:${version} -docker push ownyourbits/nextcloud-x86:latest -docker push ownyourbits/nextcloud-x86:${version} -docker push ownyourbits/lamp-x86:latest -docker push ownyourbits/lamp-x86:${version} -docker push ownyourbits/debian-ncp-x86:latest -docker push ownyourbits/debian-ncp-x86:${version} - -docker push ownyourbits/nextcloudpi-armhf:latest -docker push ownyourbits/nextcloudpi-armhf:${version} -docker push ownyourbits/nextcloud-armhf:latest -docker push ownyourbits/nextcloud-armhf:${version} -docker push ownyourbits/lamp-armhf:latest -docker push ownyourbits/lamp-armhf:${version} -docker push ownyourbits/debian-ncp-armhf:latest -docker push ownyourbits/debian-ncp-armhf:${version} - -docker push ownyourbits/nextcloudpi-arm64:latest -docker push ownyourbits/nextcloudpi-arm64:${version} -docker push ownyourbits/nextcloud-arm64:latest -docker push ownyourbits/nextcloud-arm64:${version} -docker push ownyourbits/lamp-arm64:latest -docker push ownyourbits/lamp-arm64:${version} -docker push ownyourbits/debian-ncp-arm64:latest -docker push ownyourbits/debian-ncp-arm64:${version} - -# Docker multi-arch -docker manifest create --amend ownyourbits/nextcloudpi:${version} \ - --amend ownyourbits/nextcloudpi-x86:${version} \ - --amend ownyourbits/nextcloudpi-armhf:${version} \ - --amend ownyourbits/nextcloudpi-arm64:${version} - -docker manifest create --amend ownyourbits/nextcloudpi:latest \ - --amend ownyourbits/nextcloudpi-x86:latest \ - --amend ownyourbits/nextcloudpi-armhf:latest \ - --amend ownyourbits/nextcloudpi-arm64:latest - - -docker manifest annotate ownyourbits/nextcloudpi:${version} ownyourbits/nextcloudpi-x86:${version} --os linux --arch amd64 -docker manifest annotate ownyourbits/nextcloudpi:${version} ownyourbits/nextcloudpi-armhf:${version} --os linux --arch arm -docker manifest annotate ownyourbits/nextcloudpi:${version} ownyourbits/nextcloudpi-arm64:${version} --os linux --arch arm64 - -docker manifest annotate ownyourbits/nextcloudpi:latest ownyourbits/nextcloudpi-x86:latest --os linux --arch amd64 -docker manifest annotate ownyourbits/nextcloudpi:latest ownyourbits/nextcloudpi-armhf:latest --os linux --arch arm -docker manifest annotate ownyourbits/nextcloudpi:latest ownyourbits/nextcloudpi-arm64:latest --os linux --arch arm64 - -docker manifest push -p ownyourbits/nextcloudpi:${version} -docker manifest push -p ownyourbits/nextcloudpi:latest +upload_docker +upload_images # License diff --git a/build/build-LXC.sh b/build/build-LXC.sh index 969e9ebb..dc0456b5 100755 --- a/build/build-LXC.sh +++ b/build/build-LXC.sh @@ -52,7 +52,7 @@ pack_image "$IMG" "$TAR" # upload create_torrent "$TAR" -upload_ftp "$( basename "$TAR" .tar.bz2 )" +#upload_ftp "$( basename "$TAR" .tar.bz2 )" # License diff --git a/build/build-LXD.sh b/build/build-LXD.sh index 06f44dec..9f12718f 100755 --- a/build/build-LXD.sh +++ b/build/build-LXD.sh @@ -50,7 +50,7 @@ lxc export ncp "$TAR" # upload create_torrent "$TAR" -upload_ftp "$( basename "$TAR" .tar.bz2 )" +#upload_ftp "$( basename "$TAR" .tar.bz2 )" # License diff --git a/build/build-SD-armbian.sh b/build/build-SD-armbian.sh index f939dc06..e832804f 100755 --- a/build/build-SD-armbian.sh +++ b/build/build-SD-armbian.sh @@ -79,4 +79,4 @@ pack_image "$IMG" "$TAR" # upload create_torrent "$TAR" -upload_ftp "$( basename "$TAR" .tar.bz2 )" +#upload_ftp "$( basename "$TAR" .tar.bz2 )" diff --git a/build/build-SD-berryboot.sh b/build/build-SD-berryboot.sh index da2fba0f..84ebf9eb 100755 --- a/build/build-SD-berryboot.sh +++ b/build/build-SD-berryboot.sh @@ -39,7 +39,7 @@ pack_image "$IMG" "$TAR" # upload create_torrent "$TAR" -upload_ftp "$( basename "$TAR" .tar.bz2 )" +#upload_ftp "$( basename "$TAR" .tar.bz2 )" # License diff --git a/build/build-SD-rpi.sh b/build/build-SD-rpi.sh index 3f1bae1e..a9f2b18b 100755 --- a/build/build-SD-rpi.sh +++ b/build/build-SD-rpi.sh @@ -100,7 +100,7 @@ pack_image "$IMG" "$TAR" # upload create_torrent "$TAR" -upload_ftp "$( basename "$TAR" .tar.bz2 )" +#upload_ftp "$( basename "$TAR" .tar.bz2 )" # License diff --git a/build/build-VM.sh b/build/build-VM.sh index b730bb42..52e1b5e8 100755 --- a/build/build-VM.sh +++ b/build/build-VM.sh @@ -29,7 +29,6 @@ test -f "$TAR" && { echo "$TAR already exists. Skipping... "; exit 0; } ## preparations test -f "$TAR" && { echo "$TAR already exists. Skipping... "; exit 0; } -set -e prepare_dirs # tmp cache output ## BUILD NCP @@ -39,6 +38,7 @@ cd build/ vagrant destroy -f vagrant box update vagrant up --provider=libvirt --provision +cd - sleep 10 sudo qemu-img rebase -b "" "$VM" @@ -54,7 +54,7 @@ pack_image "$IMG" "$TAR" # upload create_torrent "$TAR" -upload_ftp "$( basename "$TAR" .tar.bz2 )" +#upload_ftp "$( basename "$TAR" .tar.bz2 )" # License diff --git a/build/buildlib.sh b/build/buildlib.sh index 875da0b6..6e9f5e61 100644 --- a/build/buildlib.sh +++ b/build/buildlib.sh @@ -367,13 +367,10 @@ EOF return $ret } -upload_all() +upload_images() { test -d output || { echo "No uploads found. Nothing to do"; return; } - [[ "$FTPPASS" == "" ]] && { - echo -e "\e[1mNo FTPPASS variable found, FTP won't work.\nYou can ^C to cancel now\e[0m" - sleep 5 - } + [[ "$FTPPASS" == "" ]] && { echo "No FTPPASS variable found, skip upload"; return 1; } mkdir -p archive for img in $(find output -name '*.tar.bz2'); do @@ -381,20 +378,87 @@ upload_all() done } +function upload_docker() +{ + export DOCKER_CLI_EXPERIMENTAL=enabled + + docker push ownyourbits/nextcloudpi-x86:latest + docker push ownyourbits/nextcloudpi-x86:${version} + docker push ownyourbits/nextcloud-x86:latest + docker push ownyourbits/nextcloud-x86:${version} + docker push ownyourbits/lamp-x86:latest + docker push ownyourbits/lamp-x86:${version} + docker push ownyourbits/debian-ncp-x86:latest + docker push ownyourbits/debian-ncp-x86:${version} + + docker push ownyourbits/nextcloudpi-armhf:latest + docker push ownyourbits/nextcloudpi-armhf:${version} + docker push ownyourbits/nextcloud-armhf:latest + docker push ownyourbits/nextcloud-armhf:${version} + docker push ownyourbits/lamp-armhf:latest + docker push ownyourbits/lamp-armhf:${version} + docker push ownyourbits/debian-ncp-armhf:latest + docker push ownyourbits/debian-ncp-armhf:${version} + + docker push ownyourbits/nextcloudpi-arm64:latest + docker push ownyourbits/nextcloudpi-arm64:${version} + docker push ownyourbits/nextcloud-arm64:latest + docker push ownyourbits/nextcloud-arm64:${version} + docker push ownyourbits/lamp-arm64:latest + docker push ownyourbits/lamp-arm64:${version} + docker push ownyourbits/debian-ncp-arm64:latest + docker push ownyourbits/debian-ncp-arm64:${version} + + # Docker multi-arch + docker manifest create --amend ownyourbits/nextcloudpi:${version} \ + --amend ownyourbits/nextcloudpi-x86:${version} \ + --amend ownyourbits/nextcloudpi-armhf:${version} \ + --amend ownyourbits/nextcloudpi-arm64:${version} + + docker manifest create --amend ownyourbits/nextcloudpi:latest \ + --amend ownyourbits/nextcloudpi-x86:latest \ + --amend ownyourbits/nextcloudpi-armhf:latest \ + --amend ownyourbits/nextcloudpi-arm64:latest + + + docker manifest annotate ownyourbits/nextcloudpi:${version} ownyourbits/nextcloudpi-x86:${version} --os linux --arch amd64 + docker manifest annotate ownyourbits/nextcloudpi:${version} ownyourbits/nextcloudpi-armhf:${version} --os linux --arch arm + docker manifest annotate ownyourbits/nextcloudpi:${version} ownyourbits/nextcloudpi-arm64:${version} --os linux --arch arm64 + + docker manifest annotate ownyourbits/nextcloudpi:latest ownyourbits/nextcloudpi-x86:latest --os linux --arch amd64 + docker manifest annotate ownyourbits/nextcloudpi:latest ownyourbits/nextcloudpi-armhf:latest --os linux --arch arm + docker manifest annotate ownyourbits/nextcloudpi:latest ownyourbits/nextcloudpi-arm64:latest --os linux --arch arm64 + + docker manifest push -p ownyourbits/nextcloudpi:${version} + docker manifest push -p ownyourbits/nextcloudpi:latest +} -function test_image() +function test_docker() { - local IMG="$1" - local IP="$2" - echo -e "\e[1m\n[ QEMU Test ]\e[0m" - [[ -f "$IMG" ]] || { echo "No image file found, abort"; return 1; } - launch_qemu "$IMG" & - sleep 10 - wait_SSH "$IP" - sleep 180 # Wait for the services to start. Improve this ( wait HTTP && trusted domains ) - tests/tests.py "$IP" - ssh_pi "$IP" sudo halt - wait + ( + cd build/docker + docker compose down + docker volume rm docker_ncdata + docker compose up -d + sleep 30 + ../../tests/activation_tests.py + ../../tests/nextcloud_tests.py + ../../tests/system_tests.py + docker compose down + ) +} + +function test_lxc() +{ + local ip + lxc stop ncp || true + lxc start ncp + lxc exec ncp -- bash -c 'while [ "$(systemctl is-system-running 2>/dev/null)" != "running" ] && [ "$(systemctl is-system-running 2>/dev/null)" != "degraded" ]; do :; done' + ip="$(lxc exec ncp -- bash -c 'source /usr/local/etc/library.sh && get_ip')" + tests/activation_tests.py "${ip}" + tests/nextcloud_tests.py "${ip}" + tests/system_tests.py + lxc stop ncp } # License |