kind: pipeline
name: qt-5.15

steps:
- name: cmake
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - cd /drone/build
    - cmake -G Ninja -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DECM_ENABLE_SANITIZERS=address -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ../src
- name: compile
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - cd /drone/build
    - ninja
- name: test
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - cd /drone/build
    - useradd -m -s /bin/bash test
    - chown -R test:test .
    - su -c 'ASAN_OPTIONS=detect_leaks=0 xvfb-run ctest --output-on-failure' test

volumes:
- name: build
  temp: {}

trigger:
  branch:
    - master
    - stable-*
  event:
    - pull_request
    - push

---
kind: pipeline
name: qt-5.15-clang

steps:
- name: cmake
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - cd /drone/build
    - cmake -G Ninja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DECM_ENABLE_SANITIZERS=address -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 ../src
- name: compile
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - cd /drone/build
    - ninja
- name: test
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - cd /drone/build
    - useradd -m -s /bin/bash test
    - chown -R test:test .
    - su -c 'ASAN_OPTIONS=detect_leaks=0 xvfb-run ctest --output-on-failure' test
- name: clang-tidy
  image: ghcr.io/nextcloud/continuous-integration-client:client-5.15-9
  volumes:
    - name: build
      path: /drone/build
  commands:
    - "! run-clang-tidy-10 -j$(nproc) -p /drone/build -header-filter $PWD -quiet | grep -A 5 ': error:'"

volumes:
- name: build
  temp: {}

trigger:
  branch:
    - master
    - stable-*
  event:
    - pull_request
    - push

---
kind: pipeline
name: AppImage

steps:
- name: build
  image: ghcr.io/nextcloud/continuous-integration-client-appimage:client-appimage-5
  environment:
    CI_UPLOAD_GIT_TOKEN:
      from_secret: CI_UPLOAD_GIT_TOKEN
    CI_UPLOAD_GIT_USERNAME:
      from_secret: CI_UPLOAD_GIT_USERNAME
  commands:
    - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE /bin/bash -c "./admin/linux/build-appimage.sh"
    - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE /bin/bash -c "./admin/linux/upload-appimage.sh" || echo "Upload failed, however this is an optional step."
trigger:
  branch:
    - master
    - stable-*
  event:
    - pull_request
    - push
---
kind: pipeline
name: Debian

steps:
- name: build
  image: ghcr.io/nextcloud/continuous-integration-client-debian:client-debian-3
  commands:
    - /bin/bash -c "./admin/linux/debian/drone-build.sh" || echo "[WARNING] Debian build failed but this is a non-blocking CI event"
  environment:
    DEBIAN_SECRET_KEY:
      from_secret: DEBIAN_SECRET_KEY
    DEBIAN_SECRET_IV:
      from_secret: DEBIAN_SECRET_IV
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
---
kind: pipeline
name: Documentation

steps:
- name: build
  image: nextcloudci/documentation:documentation-5
  commands:
    - cd doc
    - make html
trigger:
  branch:
    - master
  event:
    - pull_request
    - push
