diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 384e35d3..5634a8eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -21,3 +21,4 @@ include: - local: .gitlab/ci/alpinelinux.yml - local: .gitlab/ci/debian-i686.yml - local: .gitlab/ci/cifuzz.yml + - local: .gitlab/ci/ubuntu.yml diff --git a/.gitlab/ci/ubuntu.yml b/.gitlab/ci/ubuntu.yml new file mode 100644 index 00000000..f58613b8 --- /dev/null +++ b/.gitlab/ci/ubuntu.yml @@ -0,0 +1,102 @@ +.ubuntu-prep: + extends: + - .fail_if_coredump_generated + before_script: + - sudo apt-get -y update + - > + [ -z "$RUN_SYSTEMD_PLUGIN_TEST" ] || + sudo apt-get -y install -y -qq swtpm meson ninja-build python3-jinja2 + gperf libcap-dev libtss2-dev libmount-dev swtpm-tools + - > + sudo apt-get -y install -y -qq git gcc make autoconf automake autopoint + pkgconf libtool libtool-bin gettext libssl-dev libdevmapper-dev + libpopt-dev uuid-dev libsepol-dev libjson-c-dev libssh-dev libblkid-dev + tar libargon2-dev libpwquality-dev sharutils dmsetup jq xxd expect + keyutils netcat-openbsd passwd openssh-client sshpass asciidoctor + - sudo apt-get -y build-dep cryptsetup + - sudo -E git clean -xdf + - ./autogen.sh + - ./configure --enable-libargon2 --enable-asciidoc + +test-mergerq-job-ubuntu: + extends: + - .ubuntu-prep + tags: + - libvirt + - cryptsetup-ubuntu-2404 + stage: test + interruptible: true + variables: + DISTRO: cryptsetup-ubuntu-2404 + RUN_SSH_PLUGIN_TEST: "1" + rules: + - if: $CI_PROJECT_PATH != "cryptsetup/cryptsetup" + when: never + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + script: + - make -j + - make -j -C tests check-programs + - sudo -E make check + +test-main-commit-job-ubuntu: + extends: + - .ubuntu-prep + tags: + - libvirt + - cryptsetup-ubuntu-2404 + stage: test + interruptible: true + variables: + DISTRO: cryptsetup-ubuntu-2404 + RUN_SSH_PLUGIN_TEST: "1" + rules: + - if: $CI_PROJECT_PATH != "cryptsetup/cryptsetup" + when: never + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /v2\..\.x$/ + script: + - make -j + - make -j -C tests check-programs + - sudo -E make check + +# meson tests +test-mergerq-job-ubuntu-meson: + extends: + - .ubuntu-prep + tags: + - libvirt + - cryptsetup-ubuntu-2404 + stage: test + interruptible: true + variables: + DISTRO: cryptsetup-ubuntu-2404 + RUN_SSH_PLUGIN_TEST: "1" + rules: + - if: $CI_PROJECT_PATH != "cryptsetup/cryptsetup" + when: never + - if: $CI_PIPELINE_SOURCE == "merge_request_event" + script: + - sudo apt-get -y install -y -qq meson ninja-build + - meson setup build + - ninja -C build + - cd build && sudo -E meson test --verbose --print-errorlogs + +test-main-commit-job-ubuntu-meson: + extends: + - .ubuntu-prep + tags: + - libvirt + - cryptsetup-ubuntu-2404 + stage: test + interruptible: true + variables: + DISTRO: cryptsetup-ubuntu-2404 + RUN_SSH_PLUGIN_TEST: "1" + rules: + - if: $CI_PROJECT_PATH != "cryptsetup/cryptsetup" + when: never + - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /v2\..\.x$/ + script: + - sudo apt-get -y install -y -qq meson ninja-build + - meson setup build + - ninja -C build + - cd build && sudo -E meson test --verbose --print-errorlogs