diff --git a/.drone.yml b/.drone.yml index 61c7092..47edf59 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,209 +1,60 @@ -pipeline: - download: - image: plugins/download - pull: true - source: https://schlomp.space/attachments/d85b2444-0b8f-4fa9-a8a0-9659f01059e9 - destination: identiconpp.deb +# -*- fill-column: 1000 -*- +kind: pipeline +name: build x86_64 - gcc5: - image: debian:stretch-slim - pull: true - when: - event: [push, pull_request] - environment: - - LANG=C.utf8 - - CXX=g++-5 - - CXXFLAGS=-pipe -O2 - commands: - - rm /etc/apt/apt.conf.d/docker-clean - - apt-get update -q - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release - - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list - - apt-get install -qy gnupg - - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f - - gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add - - - apt-get update -q - - apt-get install -qy -t xenial g++-5 - - apt-get install -qy cmake pkg-config - - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev - - dpkg -i identiconpp.deb - - rm -rf build && mkdir -p build && cd build - - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - - make VERBOSE=1 - volumes: - - /var/cache/debian-package-cache:/var/cache/apt/archives +volumes: +- name: debian-package-cache + host: + path: /var/cache/debian-package-cache - gcc6: - image: debian:stretch-slim - pull: true - environment: - - LANG=C.utf8 - - CXX=g++-6 - - CXXFLAGS=-pipe -O2 - commands: - - rm /etc/apt/apt.conf.d/docker-clean - - apt-get update -q - - apt-get install -qy g++-6 cmake pkg-config - - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev - - apt-get install -qy dpkg-dev d-shlibs rpm file wget - - gpg --no-tty --import /var/autosign_gpg.key - - dpkg -i identiconpp.deb - - rm -rf build && mkdir -p build && cd build - - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - - make VERBOSE=1 - - make install DESTDIR=install - - make package - - cmake -DWITH_DEB=ON .. - - make package - - cmake -DWITH_DEB=OFF -DWITH_RPM=ON .. - - make package - - gpg --verbose --detach-sign *.tar.gz - - gpg --verbose --detach-sign *.deb - - gpg --verbose --detach-sign *.rpm - volumes: - - /var/cache/debian-package-cache:/var/cache/apt/archives - - /home/tastytea/misc/autosign_gpg.key:/var/autosign_gpg.key +trigger: + event: + exclude: + - tag - gcc7: - image: debian:stretch-slim - pull: true - when: - event: [push, pull_request] - environment: - - LANG=C.utf8 - - CXX=g++-7 - - CXXFLAGS=-pipe -O2 - commands: - - rm /etc/apt/apt.conf.d/docker-clean - - apt-get update -q - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release - - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list - - apt-get install -qy gnupg - - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f - - gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add - - - apt-get update -q - - apt-get install -qy -t xenial g++-7 - - apt-get install -qy cmake pkg-config - - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev - - dpkg -i identiconpp.deb - - rm -rf build && mkdir -p build && cd build - - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - - make VERBOSE=1 - volumes: - - /var/cache/debian-package-cache:/var/cache/apt/archives +steps: +- name: Download identiconpp for Debian stretch + image: plugins/download + settings: + source: https://schlomp.space/attachments/f40d4b6e-ab9f-4cb7-a83e-cb1d8490e9ee + destination: identiconpp_stretch.deb - gcc8: - image: debian:stretch-slim - pull: true - when: - event: [push, pull_request] - environment: - - LANG=C.utf8 - - CXX=g++-8 - - CXXFLAGS=-pipe -O2 - commands: - - rm /etc/apt/apt.conf.d/docker-clean - - apt-get update -q - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release - - echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main" >> /etc/apt/sources.list.d/ubuntu-toolchain-r.list - - apt-get install -qy gnupg - - gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 0x60c317803a41ba51845e371a1e9377a2ba9ef27f - - gpg --armor --export 0x60c317803a41ba51845e371a1e9377a2ba9ef27f | apt-key add - - - apt-get update -q - - apt-get install -qy -t xenial g++-8 - - apt-get install -qy cmake pkg-config - - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev - - dpkg -i identiconpp.deb - - rm -rf build && mkdir -p build && cd build - - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - - make VERBOSE=1 - volumes: - - /var/cache/debian-package-cache:/var/cache/apt/archives +- name: GCC 6 / clang 7 + image: debian:stretch-slim + pull: always + environment: + CXX: g++-6 + CXXFLAGS: -pipe -O2 + DEBIAN_FRONTEND: noninteractive + LANG: C.utf8 + commands: + - rm /etc/apt/apt.conf.d/docker-clean + - apt-get update -q + - apt-get install -qq g++-6 clang-7 cmake pkg-config + - apt-get install -qq libcrypto++-dev libmagick++-dev libxdg-basedir-dev + - dpkg -i identiconpp_stretch.deb + - rm -rf build && mkdir -p build && cd build + - cmake .. + - cmake --build . + - make install + - cd ../ + - rm -rf build && mkdir -p build && cd build + - CXX="clang++" cmake .. + - cmake --build . + - make install + volumes: + - name: debian-package-cache + path: /var/cache/apt/archives - clang5: - image: debian:stretch-slim - pull: true - when: - event: [push, pull_request] - environment: - - LANG=C.utf8 - - CXX=clang++-5.0 - - CXXFLAGS=-pipe -O2 - commands: - - rm /etc/apt/apt.conf.d/docker-clean - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release - - echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list - - apt-get update -q - - apt-get install -qy -t stretch-backports clang-5.0 - - apt-get install -qy cmake pkg-config - - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev - - dpkg -i identiconpp.deb - - rm -rf build && mkdir -p build && cd build - - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - - make VERBOSE=1 - volumes: - - /var/cache/debian-package-cache:/var/cache/apt/archives - - clang6: - image: debian:stretch-slim - pull: true - when: - event: [push, pull_request] - environment: - - LANG=C.utf8 - - CXX=clang++-6.0 - - CXXFLAGS=-pipe -O2 - commands: - - rm /etc/apt/apt.conf.d/docker-clean - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release - - echo "deb http://deb.debian.org/debian stretch-backports main" >> /etc/apt/sources.list.d/stretch.list - - apt-get update -q - - apt-get install -qy -t stretch-backports clang-6.0 - - apt-get install -qy cmake pkg-config - - apt-get install -qy libcrypto++-dev libmagick++-dev libxdg-basedir-dev - - dpkg -i identiconpp.deb - - rm -rf build && mkdir -p build && cd build - - cmake -DCMAKE_INSTALL_PREFIX=/usr .. - - make VERBOSE=1 - volumes: - - /var/cache/debian-package-cache:/var/cache/apt/archives - - prepare_release: - image: debian:stretch-slim - pull: true - when: - event: tag - commands: - - cp -v build/libravatarserv-${DRONE_TAG}_x86_64.tar.gz . - - cp -v build/libravatarserv-${DRONE_TAG}_x86_64.tar.gz.sig . - - cp -v build/libravatarserv_${DRONE_TAG}-0_amd64.deb . - - cp -v build/libravatarserv_${DRONE_TAG}-0_amd64.deb.sig . - - cp -v build/libravatarserv-${DRONE_TAG}-0.x86_64.rpm . - - cp -v build/libravatarserv-${DRONE_TAG}-0.x86_64.rpm.sig . - gitea_release: - image: plugins/gitea-release - pull: true - when: - event: tag - base_url: https://schlomp.space - secrets: [ gitea_token ] - title: ${DRONE_TAG} - prerelease: true - files: - - libravatarserv-${DRONE_TAG}_x86_64.tar.gz - - libravatarserv-${DRONE_TAG}_x86_64.tar.gz.sig - - libravatarserv_${DRONE_TAG}-0_amd64.deb - - libravatarserv_${DRONE_TAG}-0_amd64.deb.sig - - libravatarserv-${DRONE_TAG}-0.x86_64.rpm - - libravatarserv-${DRONE_TAG}-0.x86_64.rpm.sig - checksum: - - sha512 - - notify: - image: drillster/drone-email - pull: true +- name: notification + image: drillster/drone-email + pull: always + settings: host: cryptoparty-celle.de - secrets: [ email_username, email_password ] from: drone@tzend.de - when: - status: [ changed, failure ] + username: + from_secret: email_username + password: + from_secret: email_password + when: + status: [ changed, failure ] diff --git a/README.md b/README.md index c393e21..53de10c 100644 --- a/README.md +++ b/README.md @@ -133,8 +133,8 @@ Up to and including 0.6.2, the packages were generated on Ubuntu 16.04 64 bit. #### Dependencies -* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 5/6/7/8, - [clang](https://llvm.org/) 5/6) +* C++ compiler (tested: [gcc](https://gcc.gnu.org/) 6/9, + [clang](https://llvm.org/) 7) * [cmake](https://cmake.org/) (at least 3.10) * [crypto++](https://cryptopp.com) (tested: 7.0 / 5.6) * [imagemagick](https://www.imagemagick.org/) (tested: 7.0 / 6.7)