@@ -393,16 +393,15 @@ jobs:
393393 sudo "$LXC" stop ncp
394394
395395 test-dist-upgrade :
396- if : false
397396 needs :
398397 - determine-runner
399398 runs-on : ${{ needs.determine-runner.outputs.runner_label }}
400399 env :
401400 VERSION : " ${{ inputs.git_ref || github.ref }}"
402401 LXC : " ${{ needs.determine-runner.outputs.lxc_cmd }}"
403402 LXD_EXTRA_PROFILE : " ${{ needs.determine-runner.outputs.lxd_extra_profile }}"
404- PREVIOUS_IMAGE_URL_ARM64 : " https://github.com/nextcloud/nextcloudpi/releases/download/v1.53.2 /NextcloudPi_LXD_arm64_v1.53.2 .tar.gz"
405- PREVIOUS_IMAGE_URL_AMD64 : " https://github.com/nextcloud/nextcloudpi/releases/download/v1.53.2 /NextCloudPi_LXD_x86_v1.53.2 .tar.gz"
403+ PREVIOUS_IMAGE_URL_ARM64 : " https://github.com/nextcloud/nextcloudpi/releases/download/v1.57.1 /NextcloudPi_LXD_arm64_v1.57.1 .tar.gz"
404+ PREVIOUS_IMAGE_URL_AMD64 : " https://github.com/nextcloud/nextcloudpi/releases/download/v1.57.1 /NextCloudPi_LXD_x86_v1.57.1 .tar.gz"
406405 USE_INCUS : " ${{ needs.determine-runner.outputs.lxc_cmd == 'incus' && 'yes' || 'no' }}"
407406 steps :
408407 - name : Setup incus
@@ -416,7 +415,7 @@ jobs:
416415 - name : Checkout code
417416 uses : actions/checkout@v3
418417 with :
419- ref : " v1.54.3 "
418+ ref : " v1.57.1 "
420419 - name : Setup Firefox
421420 if : ${{ runner.arch != 'ARM64' }}
422421 continue-on-error : true
@@ -425,6 +424,7 @@ jobs:
425424 - name : Setup Firefox from packages
426425 if : ${{ runner.arch == 'ARM64' || steps.setup-firefox-browser-action.outcome == 'failure' }}
427426 run : |
427+ sudo apt-get update
428428 sudo apt-get install -y --no-install-recommends firefox
429429 - name : Setup GeckoDriver
430430 env :
@@ -458,8 +458,9 @@ jobs:
458458 - name : Launch ncp container
459459 run : |
460460 set -x
461+ . ./build/buildlib.sh
461462 sudo "$LXC" delete -q -f ncp || true
462- sudo "$LXC" image import -q "./ncp.tar.gz" --alias "ncp/update"
463+ sudo "$LXC" image import -q "./ncp.tar.gz" --alias "ncp/update" || true
463464 LXC_ARGS=(-p default)
464465 [[ -z "$LXD_EXTRA_PROFILE" ]] || LXC_ARGS+=(-p "$LXD_EXTRA_PROFILE")
465466 systemd-run --user --scope -p "Delegate=yes" "$LXC" launch -q "${LXC_ARGS[@]}" "ncp/update" ncp || \
@@ -477,6 +478,7 @@ jobs:
477478 set -x
478479 export GECKODRIVER_PATH="$GECKODRIVER_PATH"
479480 export FF_BINARY_PATH="$(which firefox)"
481+ sudo "$LXC" exec ncp -- /usr/local/bin/ncc config:system:set overwrite.cli.url --value "https://nextcloudpi.local"
480482 sudo "$LXC" exec ncp -- bash -c 'tail -f /var/log/ncp.log' |& awk '{ print "NCP::" $0 }' &
481483 ../.venv/bin/python activation_tests.py --no-gui "nextcloudpi.local" 443 4443 || {
482484 echo "Activation test failed!"
@@ -485,6 +487,10 @@ jobs:
485487 echo "================"
486488 echo "ncp.log: "
487489 sudo "$LXC" exec ncp -- bash -c "tail -n20 /var/log/ncp.log" || true
490+ echo "================"
491+ echo "nextcloud log: "
492+ datadir="$("$LXC" exec ncp -- ncc config:system:get datadirectory)"
493+ sudo "$LXC" exec ncp -- cat "$datadir/nextcloud.log" || true
488494 exit 1
489495 }
490496 ../.venv/bin/python nextcloud_tests.py --skip-release-check --no-gui "nextcloudpi.local" 443 4443 || {
@@ -529,21 +535,33 @@ jobs:
529535
530536 current_nc_version="$(sudo "$LXC" exec ncp -- ncc status | grep "version:" | awk '{ print $3 }')"
531537 latest_nc_version="29.0.9"
532-
533- sudo "$LXC" exec ncp -- apt-get update ||:
534- sudo "$LXC" exec ncp -- apt-get install --no-install-recommends -y gnupg2
535- sudo "$LXC" exec ncp -- apt-key adv --fetch-keys https://packages.sury.org/php/apt.gpg
536-
538+
537539 sudo "$LXC" exec ncp -- bash -c "DBG=x ncp-update ${UPDATE_ARGS[*]}"
538540 sudo "$LXC" exec ncp -- /usr/local/bin/ncc status
539541
540- #if [[ "$current_nc_version" =~ "$latest_nc_version".* ]]
541- #then
542- # echo "Nextcloud is up to date - skipping NC update test."
543- #else
544- # sudo "$LXC" exec ncp -- bash -c "DBG=x ncp-update-nc ${latest_nc_version?}"
545- # sudo "$LXC" exec ncp -- /usr/local/bin/ncc status
546- #fi
542+ if [[ "$current_nc_version" =~ "$latest_nc_version".* ]]
543+ then
544+ echo "Nextcloud is up to date - skipping NC update test."
545+ else
546+ for i in {1..10}
547+ do
548+ echo "running nc update $i/10..."
549+ sudo "$LXC" exec ncp -- bash -c "DBG=x ncp-update-nc ${latest_nc_version?}"
550+ sudo "$LXC" exec ncp -- /usr/local/bin/ncc status
551+ current_nc_version_new="$(sudo "$LXC" exec ncp -- ncc status | grep "version:" | awk '{ print $3 }')"
552+
553+ if [[ "$current_nc_version_new" =~ "$latest_nc_version".* ]]
554+ then
555+ break
556+ fi
557+ if [[ "$current_nc_version" == "$current_nc_version_new" ]]
558+ then
559+ echo "failed to update to $latest_nc_version"
560+ exit 1
561+ fi
562+ current_nc_version="$current_nc_version_new"
563+ done
564+ fi
547565
548566 sudo "$LXC" exec ncp -- rm -f /opt/ncdata/data/nextcloud.log
549567
@@ -564,9 +582,22 @@ jobs:
564582 - name : Test LXD Image
565583 working-directory : ./tests
566584 run : |
585+ set -x
586+ sudo "$LXC" exec ncp -- bash -c 'tail -f /var/log/ncp.log' |& awk '{ print "NCP::" $0 }' &
567587 export GECKODRIVER_PATH="$GECKODRIVER_PATH"
568588 export FF_BINARY_PATH="$(which firefox)"
569- ../.venv/bin/python nextcloud_tests.py --no-gui --skip-release-check "nextcloudpi.local" 443 4443 || {
589+
590+ USE_INCUS="$USE_INCUS" ../.venv/bin/python system_tests.py --skip-update-test --non-interactive || {
591+ echo "System test failed!"
592+ echo "ncp.log: "
593+ sudo "$LXC" exec ncp -- bash -c "tail -n20 /var/log/ncp.log" || true
594+ echo "================"
595+ echo "nextcloud log: "
596+ datadir="$(sudo "$LXC" exec ncp -- ncc config:system:get datadirectory)"
597+ sudo "$LXC" exec ncp -- cat "$datadir/nextcloud.log" || true
598+ exit 1
599+ }
600+ ../.venv/bin/python nextcloud_tests.py --no-gui "nextcloudpi.local" 443 4443 || {
570601 echo "Nextcloud test failed!"
571602 echo "Geckodriver logs:"
572603 tail -n 20 geckodriver.log >&2 || true
@@ -579,11 +610,6 @@ jobs:
579610 sudo "$LXC" exec ncp -- cat "$datadir/nextcloud.log" || true
580611 exit 1
581612 }
582- sudo "$LXC" exec ncp -- bash -c 'tail -f /var/log/ncp.log' |& awk '{ print "NCP::" $0 }' &
583- USE_INCUS="$USE_INCUS" ../.venv/bin/python system_tests.py --non-interactive --skip-update-test || {
584- echo "System test failed!"
585- exit 1
586- }
587613 - name : Checkout current version
588614 run : |
589615 git fetch origin
@@ -592,7 +618,7 @@ jobs:
592618 id : distupgrade
593619 run : |
594620 set -x
595- sudo "$LXC" exec ncp -- cat /etc/os-release | grep 'VERSION_ID="11 "' || {
621+ sudo "$LXC" exec ncp -- cat /etc/os-release | grep 'VERSION_ID="12 "' || {
596622 echo "can't upgrade from Debian $(sudo "$LXC" exec ncp -- cat /etc/os-release | grep VERSION_ID=)"
597623 exit 1
598624 }
@@ -606,14 +632,13 @@ jobs:
606632 then
607633 echo "Nextcloud is up to date - skipping NC update test."
608634 else
609-
610- for i in {1..10};
635+ for i in {1..10}
611636 do
612- echo "running nc update ( $i/10) ..."
637+ echo "running nc update $i/10..."
613638 sudo "$LXC" exec ncp -- bash -c "DBG=x ncp-update-nc ${latest_nc_version?}"
614-
615639 sudo "$LXC" exec ncp -- /usr/local/bin/ncc status
616640 current_nc_version_new="$(sudo "$LXC" exec ncp -- ncc status | grep "version:" | awk '{ print $3 }')"
641+
617642 if [[ "$current_nc_version_new" =~ "$latest_nc_version".* ]]
618643 then
619644 break
@@ -632,10 +657,8 @@ jobs:
632657 - name : Relaunch container
633658 run : |
634659 set -x
635- LXC_ARGS=()
636- [[ -z "$LXD_EXTRA_PROFILE" ]] || LXC_ARGS+=(-p "$LXD_EXTRA_PROFILE")
637- systemd-run --user --scope -p "Delegate=yes" "$LXC" start ncp || \
638- sudo systemd-run --scope -p "Delegate=yes" "$LXC" start ncp
660+ systemd-run --user --scope -p "Delegate=yes" "$LXC" start -q ncp || \
661+ sudo systemd-run --scope -p "Delegate=yes" "$LXC" start -q ncp
639662 sudo "$LXC" exec ncp -- bash -c 'while [ "$(systemctl is-system-running 2>/dev/null)" != "running" ] && [ "$(systemctl is-system-running 2>/dev/null)" != "degraded" ]; do :; done'
640663 sleep 30
641664 ip="$(sudo "$LXC" list -c n4 -f csv | grep '^ncp' | cut -d ',' -f2)"
@@ -646,9 +669,20 @@ jobs:
646669 working-directory : ./tests
647670 run : |
648671 set -x
672+ sudo "$LXC" exec ncp -- bash -c 'tail -f /var/log/ncp.log' |& awk '{ print "NCP::" $0 }' &
649673 export GECKODRIVER_PATH="$GECKODRIVER_PATH"
650674 export FF_BINARY_PATH="$(which firefox)"
651- sudo "$LXC" exec ncp -- bash -c 'tail -f /var/log/ncp.log' |& awk '{ print "NCP::" $0 }' &
675+
676+ USE_INCUS="$USE_INCUS" ../.venv/bin/python system_tests.py --skip-update-test --non-interactive || {
677+ echo "System test failed!"
678+ echo "ncp.log: "
679+ sudo "$LXC" exec ncp -- bash -c "tail -n20 /var/log/ncp.log" || true
680+ echo "================"
681+ echo "nextcloud log: "
682+ datadir="$(sudo "$LXC" exec ncp -- ncc config:system:get datadirectory)"
683+ sudo "$LXC" exec ncp -- cat "$datadir/nextcloud.log" || true
684+ exit 1
685+ }
652686 ../.venv/bin/python nextcloud_tests.py --no-gui "nextcloudpi.local" 443 4443 || {
653687 echo "Nextcloud test failed!"
654688 echo "Geckodriver logs:"
@@ -662,10 +696,6 @@ jobs:
662696 sudo "$LXC" exec ncp -- cat "$datadir/nextcloud.log" || true
663697 exit 1
664698 }
665- USE_INCUS="$USE_INCUS" ../.venv/bin/python system_tests.py --non-interactive || {
666- echo "System test failed!"
667- exit 1
668- }
669699 sudo "$LXC" stop ncp
670700
671701 test-fresh-install :
0 commit comments