.alpinelinux-dependencies:
  variables:
    DISTRO: cryptsetup-alpine-edge
  extends:
    - .fail_if_coredump_generated
  before_script:
    - >
      sudo apk add
      lvm2-dev openssl-dev popt-dev util-linux-dev json-c-dev
      argon2-dev device-mapper which sharutils gettext gettext-dev automake
      autoconf libtool build-base keyutils tar jq expect git asciidoctor
    # Be sure we have updated basic tools and system
    - sudo apk upgrade gcc binutils build-base musl
    - ./autogen.sh
    - ./configure --prefix=/usr --libdir=/lib --sbindir=/sbin --disable-static --enable-libargon2 --with-crypto_backend=openssl --disable-external-tokens --disable-ssh-token --enable-asciidoc

test-main-commit-job-alpinelinux:
  extends:
    - .alpinelinux-dependencies
  tags:
    - libvirt
    - cryptsetup-alpine-edge
  stage: test
  interruptible: true
  variables:
    RUN_SSH_PLUGIN_TEST: "0"
  rules:
    - if: $RUN_SYSTEMD_PLUGIN_TEST != null
      when: never
    - 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

test-mergerq-job-alpinelinux:
  extends:
    - .alpinelinux-dependencies
  tags:
    - libvirt
    - cryptsetup-alpine-edge
  stage: test
  interruptible: true
  variables:
    RUN_SSH_PLUGIN_TEST: "0"
  rules:
    - if: $RUN_SYSTEMD_PLUGIN_TEST != null
      when: never
    - 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
