@@ -409,11 +409,191 @@ jobs:
409409 name : linux-package_${{ matrix.type }}_${{ matrix.os }}_${{ github.event.pull_request.head.sha }}
410410 path : rpmbuild/RPMS/${{ env.ARCH }}/${{ env.PKG_FULL }}.rpm
411411
412+ test-debian-deb-package :
413+ name : Test Debian DEB Package
414+ runs-on : ubuntu-latest
415+ container :
416+ image : debian:${{ matrix.os }}
417+ needs : build-deb-package
418+ strategy :
419+ matrix :
420+ os : [bullseye, buster]
421+ fail-fast : false
422+ steps :
423+ - name : Install dependencies
424+ if : success()
425+ run : |
426+ apt update -qq
427+ apt install -y python3
428+
429+ - name : Download client
430+ if : success()
431+ uses : actions/download-artifact@v3
432+ with :
433+ name : linux-package_client_${{ matrix.os }}_${{ github.event.pull_request.head.sha }}
434+
435+ - name : Download manager
436+ if : success()
437+ uses : actions/download-artifact@v3
438+ with :
439+ name : linux-package_manager_${{ matrix.os }}_${{ github.event.pull_request.head.sha }}
440+
441+ - name : Install client and manager
442+ if : success()
443+ run : |
444+ apt update -qq
445+ apt install -y $(find ./ -type f -name "boinc-client*.deb" -printf "%p\n")
446+ apt install -y $(find ./ -type f -name "boinc-manager*.deb" -printf "%p\n")
447+
448+ - name : Run integration tests
449+ if : success()
450+ run : |
451+ python3 ./tests/linux_package_tests/integration_tests.py
452+
453+ test-ubuntu-deb-package :
454+ name : Test Ubuntu DEB Package
455+ runs-on : ubuntu-latest
456+ container :
457+ image : ubuntu:${{ matrix.os }}
458+ needs : build-deb-package
459+ strategy :
460+ matrix :
461+ os : [jammy, focal]
462+ fail-fast : false
463+ steps :
464+ - name : Install dependencies
465+ if : success()
466+ run : |
467+ apt update -qq
468+ apt install -y python3
469+
470+ - name : Download client
471+ if : success()
472+ uses : actions/download-artifact@v3
473+ with :
474+ name : linux-package_client_${{ matrix.os }}_${{ github.event.pull_request.head.sha }}
475+
476+ - name : Download manager
477+ if : success()
478+ uses : actions/download-artifact@v3
479+ with :
480+ name : linux-package_manager_${{ matrix.os }}_${{ github.event.pull_request.head.sha }}
481+
482+ - name : Install client and manager
483+ if : success()
484+ run : |
485+ apt update -qq
486+ apt install -y $(find ./ -type f -name "boinc-client*.deb" -printf "%p\n")
487+ apt install -y $(find ./ -type f -name "boinc-manager*.deb" -printf "%p\n")
488+
489+ - name : Run integration tests
490+ if : success()
491+ run : |
492+ python3 ./tests/linux_package_tests/integration_tests.py
493+
494+ test-fedora-rpm-package :
495+ name : Test Fedora RPM Package
496+ runs-on : ubuntu-latest
497+ container :
498+ image : fedora:${{ matrix.os }}
499+ needs : build-rpm-package
500+ strategy :
501+ matrix :
502+ os : [37, 38]
503+ fail-fast : false
504+ steps :
505+ - name : Install dependencies
506+ if : success()
507+ run : |
508+ dnf install -y python3
509+
510+ - name : Get OS name
511+ if : success()
512+ run : |
513+ if [[ "${{ matrix.os }}" == "37" ]]; then
514+ OS="fc37"
515+ elif [[ "${{ matrix.os }}" == "38" ]]; then
516+ OS="fc38"
517+ fi
518+ echo "OS=${OS}" >> $GITHUB_ENV
519+
520+ - name : Download client
521+ if : success()
522+ uses : actions/download-artifact@v3
523+ with :
524+ name : linux-package_client_${{ env.OS }}_${{ github.event.pull_request.head.sha }}
525+
526+ - name : Download manager
527+ if : success()
528+ uses : actions/download-artifact@v3
529+ with :
530+ name : linux-package_manager_${{ env.OS }}_${{ github.event.pull_request.head.sha }}
531+
532+ - name : Install client and manager
533+ if : success()
534+ run : |
535+ yum localinstall -y $(find ./ -type f -name "boinc-client*.rpm" -printf "%p\n")
536+ yum localinstall -y $(find ./ -type f -name "boinc-manager*.rpm" -printf "%p\n")
537+
538+ - name : Run integration tests
539+ if : success()
540+ run : |
541+ python3 ./tests/linux_package_tests/integration_tests.py
542+
543+ test-opensuse-rpm-package :
544+ name : Test openSUSE RPM Package
545+ runs-on : ubuntu-latest
546+ container :
547+ image : opensuse/leap:${{ matrix.os }}
548+ needs : build-rpm-package
549+ strategy :
550+ matrix :
551+ os : [15.4, 15.5]
552+ fail-fast : false
553+ steps :
554+ - name : Install dependencies
555+ if : success()
556+ run : |
557+ zypper install -y python3
558+
559+ - name : Get OS name
560+ if : success()
561+ run : |
562+ if [[ "${{ matrix.os }}" == "15.4" ]]; then
563+ OS="suse15_4"
564+ elif [[ "${{ matrix.os }}" == "15.5" ]]; then
565+ OS="suse15_5"
566+ fi
567+ echo "OS=${OS}" >> $GITHUB_ENV
568+
569+ - name : Download client
570+ if : success()
571+ uses : actions/download-artifact@v3
572+ with :
573+ name : linux-package_client_${{ env.OS }}_${{ github.event.pull_request.head.sha }}
574+
575+ - name : Download manager
576+ if : success()
577+ uses : actions/download-artifact@v3
578+ with :
579+ name : linux-package_manager_${{ env.OS }}_${{ github.event.pull_request.head.sha }}
580+
581+ - name : Install client and manager
582+ if : success()
583+ run : |
584+ zypper --no-gpg-checks install -y $(find ./ -type f -name "boinc-client*.rpm" -printf "%p\n")
585+ zypper --no-gpg-checks install -y $(find ./ -type f -name "boinc-manager*.rpm" -printf "%p\n")
586+
587+ - name : Run integration tests
588+ if : success()
589+ run : |
590+ python3 ./tests/linux_package_tests/integration_tests.py
591+
412592 publish-deb-package :
413593 name : Publish DEB Package
414594 if : github.repository == 'BOINC/boinc'
415595 runs-on : ubuntu-latest
416- needs : build- deb-package
596+ needs : [test-debian- deb-package, test-ubuntu-deb-package]
417597 strategy :
418598 matrix :
419599 os : [jammy, focal, bullseye, buster]
@@ -506,7 +686,7 @@ jobs:
506686 runs-on : ubuntu-latest
507687 container :
508688 image : fedora:38
509- needs : build- rpm-package
689+ needs : [test-fedora- rpm-package, test-opensuse-rpm-package]
510690 strategy :
511691 matrix :
512692 os : [fc38, fc37, suse15_5, suse15_4]
0 commit comments