170 lines
6.0 KiB
YAML
170 lines
6.0 KiB
YAML
# -*- mode: conf-toml -*-
|
|
pipeline:
|
|
gcc6:
|
|
image: debian:stretch-slim
|
|
pull: true
|
|
when:
|
|
event: [push, pull_request]
|
|
environment:
|
|
- LANG=C.utf8
|
|
- CXX=g++-6
|
|
- 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 sid main" >> /etc/apt/sources.list.d/sid.list
|
|
- apt-get update -q
|
|
- apt-get install -qy build-essential cmake pkg-config
|
|
- apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev doxygen
|
|
- apt-get install -qy -t sid libcurlpp-dev
|
|
- apt-get install -qy rpm file
|
|
- rm -rf build && mkdir -p build && cd build
|
|
- cmake -DWITH_EXAMPLES=YES -DWITH_TESTS=YES ..
|
|
- make VERBOSE=1
|
|
- make install DESTDIR=install
|
|
- ctest ..
|
|
- make package
|
|
- cmake -DWITH_DEB=YES ..
|
|
- make package
|
|
- cmake -DWITH_DEB=NO -DWITH_RPM=YES ..
|
|
- make package
|
|
volumes:
|
|
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
|
|
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://deb.debian.org/debian sid main" >> /etc/apt/sources.list.d/sid.list
|
|
- 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 build-essential cmake pkg-config
|
|
- apt-get install -qy -t xenial g++-7
|
|
- apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev doxygen
|
|
- apt-get install -qy -t sid libcurlpp-dev
|
|
- rm -rf build && mkdir -p build && cd build
|
|
- cmake -DWITH_EXAMPLES=YES -DWITH_TESTS=YES ..
|
|
- make VERBOSE=1
|
|
- make install DESTDIR=install
|
|
volumes:
|
|
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
|
|
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://deb.debian.org/debian sid main" >> /etc/apt/sources.list.d/sid.list
|
|
- 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 build-essential cmake pkg-config
|
|
- apt-get install -qy -t xenial g++-8
|
|
- apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev doxygen
|
|
- apt-get install -qy -t sid libcurlpp-dev
|
|
- rm -rf build && mkdir -p build && cd build
|
|
- cmake -DWITH_EXAMPLES=YES -DWITH_TESTS=YES ..
|
|
- make VERBOSE=1
|
|
- make install DESTDIR=install
|
|
volumes:
|
|
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
|
|
package_deb:
|
|
image: debian:stretch-slim
|
|
pull: true
|
|
when:
|
|
event: tag
|
|
environment:
|
|
- LANG=C.utf8
|
|
- 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 sid main" >> /etc/apt/sources.list.d/sid.list
|
|
- apt-get update -q
|
|
- apt-get install -qy build-essential cmake pkg-config
|
|
- apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev doxygen
|
|
- apt-get install -qy -t sid libcurlpp-dev
|
|
- apt-get install -qy file
|
|
- rm -rf build && mkdir -p build && cd build
|
|
- cmake -DWITH_EXAMPLES=NO -DWITH_TESTS=NO ..
|
|
- make package
|
|
- cmake -DWITH_DEB=YES ..
|
|
- make package
|
|
- cp -v mastodon-cpp-${DRONE_TAG}_x86_64.tar.gz ..
|
|
- cp -v libmastodon-cpp_${DRONE_TAG}-0_amd64.deb ..
|
|
volumes:
|
|
- /var/cache/debian-package-cache:/var/cache/apt/archives
|
|
|
|
package_rpm:
|
|
image: centos:7
|
|
pull: true
|
|
when:
|
|
event: tag
|
|
environment:
|
|
- LANG=C.utf8
|
|
- CXXFLAGS=-pipe -O2
|
|
commands:
|
|
- cd /var/cache/yum && wget -nc http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && cd -
|
|
- rpm -i epel-release-latest-7.noarch.rpm
|
|
- yum group install -qy "Development Tools"
|
|
- yum install -qy cmake libcurl-devel doxygen
|
|
- yum --enablerepo=epel install -qy jsoncpp-devel libcurlpp-devel
|
|
- yum install -qy rpm file
|
|
- rm -rf build && mkdir -p build && cd build
|
|
- cmake -DWITH_EXAMPLES=NO -DWITH_TESTS=NO ..
|
|
- make package
|
|
- cmake -DWITH_RPM=YES ..
|
|
- make package
|
|
- cp -v libmastodon-cpp-${DRONE_TAG}-0.x86_64.rpm ..
|
|
volumes:
|
|
- /var/cache/centos-package-cache:/var/cache/yum/
|
|
|
|
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:
|
|
- mastodon-cpp-${DRONE_TAG}_x86_64.tar.gz
|
|
- libmastodon-cpp_${DRONE_TAG}-0_amd64.deb
|
|
- libmastodon-cpp-${DRONE_TAG}-0.x86_64.rpm
|
|
checksum:
|
|
- sha256
|
|
- sha512
|
|
|
|
notify:
|
|
when:
|
|
status: [ changed, failure ]
|
|
image: drillster/drone-email
|
|
pull: true
|
|
host: cryptoparty-celle.de
|
|
secrets: [ email_username, email_password ]
|
|
from: drone@tzend.de
|