summaryrefslogtreecommitdiffstats
path: root/build_doc.sh
blob: 40b1371fc37e70b2e7ea2038535c58485c05fd68 (plain)
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh

project="$(realpath --relative-base=.. .)"
version="$(grep -Eo '[0-9]+.[0-9]+.[0-9]+$' CMakeLists.txt)"

if [[ -f Doxyfile ]]; then
    mkdir -p doc
    (doxygen -s -g - && cat Doxyfile &&
         echo "PROJECT_NAME = ${project}" &&
         echo "PROJECT_NUMBER = ${version}") | doxygen -
fi
neric.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
# -*- fill-column: 1000 -*-
kind: pipeline
name: Build x86_64

volumes:
- name: debian-package-cache
  host:
    path: /var/cache/debian-package-cache

trigger:
  event:
    exclude:
    - tag

steps:
- name: GCC 8 / clang 7
  image: debian:buster-slim
  pull: always
  environment:
    CXX: g++-8
    CXXFLAGS: -pipe -O2
    DEBIAN_FRONTEND: noninteractive
    LANG: C.utf8
  commands:
  - rm /etc/apt/apt.conf.d/docker-clean
  - alias apt-get='rm -f /var/cache/apt/archives/lock && apt-get'
  - apt-get update -q
  - apt-get install -qq build-essential cmake clang
  - apt-get install -qq catch libcurl4-openssl-dev
  - rm -rf build && mkdir -p build && cd build
  - cmake -G "Unix Makefiles" -DWITH_TESTS=YES -DWITH_EXAMPLES=YES ..
  - make VERBOSE=1
  - make install DESTDIR=install
  - cd tests && ctest -V
  - cd ../../
  - rm -rf build && mkdir -p build && cd build
  - CXX="clang++" cmake -G "Unix Makefiles" -DWITH_TESTS=YES -DWITH_EXAMPLES=YES ..
  - make VERBOSE=1
  - make install DESTDIR=install
  - cd tests && ctest -V
  volumes:
  - name: debian-package-cache
    path: /var/cache/apt/archives

- name: GCC 7 / clang 6
  image: ubuntu:bionic
  pull: always
  environment:
    CXX: g++-7
    CXXFLAGS: -pipe -O2
    DEBIAN_FRONTEND: noninteractive
    LANG: C.utf8
  commands:
  - rm /etc/apt/apt.conf.d/docker-clean
  - alias apt-get='rm -f /var/cache/apt/archives/lock && apt-get'
  - apt-get update -q
  - apt-get install -qq build-essential cmake clang
  - apt-get install -qq catch libcurl4-openssl-dev
  - rm -rf build && mkdir -p build && cd build
  - cmake -G "Unix Makefiles" -DWITH_TESTS=YES -DWITH_EXAMPLES=YES ..
  - make VERBOSE=1
  - make install DESTDIR=install
  - cd tests && ctest -V
  - cd ../../
  - rm -rf build && mkdir -p build && cd build
  - CXX="clang++" cmake -G "Unix Makefiles" -DWITH_TESTS=YES -DWITH_EXAMPLES=YES ..
  - make VERBOSE=1
  - make install DESTDIR=install
  - cd tests && ctest -V
  volumes:
  - name: debian-package-cache
    path: /var/cache/apt/archives

- name: notify
  image: drillster/drone-email
  pull: always
  settings:
    host: cryptoparty-celle.de
    from: drone@tzend.de
    username:
      from_secret: email_username
    password:
      from_secret: email_password
  when:
    status: [ changed, failure ]

---
kind: pipeline
name: Packages x86_64


volumes:
- name: debian-package-cache
  host:
    path: /var/cache/debian-package-cache
- name: centos-package-cache
  host:
    path: /var/cache/centos-package-cache

trigger:
  event:
  - tag

steps:
- name: Debian buster
  image: debian:buster-slim
  pull: always
  environment:
    CXX: g++-8
    CXXFLAGS: -pipe -O2
    DEBIAN_FRONTEND: noninteractive
    LANG: C.utf8
  commands:
  - rm /etc/apt/apt.conf.d/docker-clean
  - alias apt-get='rm -f /var/cache/apt/archives/lock && apt-get'
  - apt-get update -q
  - apt-get install -qq build-essential cmake lsb-release
  - apt-get install -qq libcurl4-openssl-dev
  - rm -rf build && mkdir -p build && cd build
  - cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DWITH_DEB=YES ..
  - make
  - make install DESTDIR=install
  - make package
  - cp -v libmastodonpp_${DRONE_TAG}-0_amd64_buster.deb ..
  volumes:
  - name: debian-package-cache
    path: /var/cache/apt/archives

- name: Ubuntu bionic
  image: ubuntu:bionic
  pull: always
  environment:
    CXX: g++-7
    CXXFLAGS: -pipe -O2
    DEBIAN_FRONTEND: noninteractive
    LANG: C.utf8
  commands:
  - rm /etc/apt/apt.conf.d/docker-clean
  - alias apt-get='rm -f /var/cache/apt/archives/lock && apt-get'
  - apt-get update -q
  - apt-get install -qq build-essential cmake lsb-release
  - apt-get install -qq libcurl4-openssl-dev
  - rm -rf build && mkdir -p build && cd build
  - cmake -G "Unix Makefiles" -SCMAKE_INSTALL_PREFIX=/usr -DWITH_DEB=YES ..
  - make
  - make install DESTDIR=install
  - make package
  - cp -v libmastodonpp_${DRONE_TAG}-0_amd64_bionic.deb ..
  volumes:
  - name: debian-package-cache
    path: /var/cache/apt/archives

- name: CentOS 8
  image: centos:8
  pull: always
  environment:
    CXX: g++
    CXXFLAGS: -pipe -O2
    LANG: C.utf8
  commands:
  - sed -i 's/keepcache=0/keepcache=1/' /etc/yum.conf
  - yum install -qy gcc-c++ cmake rpm-build redhat-lsb-core
  - yum install -qy libcurl-devel
  - rm -rf build && mkdir -p build && cd build
  - cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DWITH_RPM=YES ..
  - make
  - make install DESTDIR=install
  - make package
  - cp -v libmastodonpp-${DRONE_TAG}-0.x86_64.centos8.rpm ..

- name: gitea_release
  image: plugins/gitea-release
  pull: always
  settings:
    base_url: https://schlomp.space
    api_key:
      from_secret: gitea_token
    title: ${DRONE_TAG}
    prerelease: true
    files:
      - libmastodonpp_${DRONE_TAG}-0_amd64_buster.deb
      - libmastodonpp_${DRONE_TAG}-0_amd64_bionic.deb
      - libmastodonpp-${DRONE_TAG}-0.x86_64.centos8.rpm
    checksum:
      - sha512

- name: notification
  image: drillster/drone-email
  pull: always
  settings:
    host: cryptoparty-celle.de
    from: drone@tzend.de
    username:
      from_secret: email_username
    password:
      from_secret: email_password
  when:
    status: [ changed, failure ]