mastorss/.drone.yml
tastytea b2864a6477
All checks were successful
continuous-integration/drone/push Build is passing
Complete AppImage build recipe in drone config.
2020-02-04 15:04:39 +01:00

202 lines
6.0 KiB
YAML

# -*- 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: download mastodonpp for buster
image: plugins/download
settings:
source: https://schlomp.space/tastytea/mastodonpp/releases/download/0.4.0/libmastodonpp_0.4.0-0_amd64_buster.deb
destination: mastodonpp_buster.deb
# - name: download mastodonpp for bionic
# image: plugins/download
# settings:
# source: https://schlomp.space/tastytea/mastodonpp/releases/download/0.4.0/libmastodonpp_0.4.0-0_amd64_bionic.deb
# destination: mastodonpp_bionic.deb
# Workaround until the debian packages are fixed.
- name: download restclient-cpp source
image: plugins/download
settings:
source: https://github.com/mrtazz/restclient-cpp/archive/0.5.1.tar.gz
destination: restclient-cpp.tar.gz
- name: GCC 8 on 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
- echo "deb https://packagecloud.io/mrtazz/restclient-cpp/debian/ buster main" > /etc/apt/sources.list.d/restclient-cpp.list
- apt-get install -qq debian-archive-keyring curl gnupg apt-transport-https
- curl -L https://packagecloud.io/mrtazz/restclient-cpp/gpgkey | apt-key add -
- apt-get update -q
- apt-get install -qq build-essential cmake asciidoc
- apt-get install -qq libboost-filesystem-dev libboost-log-dev libboost-regex-dev libjsoncpp-dev catch libcurl4-openssl-dev restclient-cpp
- apt-get -qq install ./mastodonpp_buster.deb
- tar -xf restclient-cpp.tar.gz
- cd restclient-cpp-*
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
- cmake --build .
- make install
- cd ..
- rm -rf build && mkdir -p build && cd build
- cmake ..
- make VERBOSE=1
- make install DESTDIR=install
volumes:
- name: debian-package-cache
path: /var/cache/apt/archives
# - name: GCC 7 on 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
# - echo "deb https://packagecloud.io/mrtazz/restclient-cpp/ubuntu/ bionic main" > /etc/apt/sources.list.d/restclient-cpp.list
# - apt-get install -qq curl gnupg apt-transport-https
# - curl -L https://packagecloud.io/mrtazz/restclient-cpp/gpgkey | apt-key add -
# - apt-get update -q
# - apt-get install -qq build-essential cmake asciidoc
# - apt-get install -qq libboost-filesystem-dev libboost-log-dev libboost-regex-dev libjsoncpp-dev catch libcurl4-openssl-dev restclient-cpp
# - apt-get -qq install ./mastodonpp_bionic.deb
# - rm -rf build && mkdir -p build && cd build
# - cmake ..
# - make VERBOSE=1
# - make install DESTDIR=install
# 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
trigger:
event:
- tag
volumes:
- name: debian-package-cache
host:
path: /var/cache/debian-package-cache
steps:
- name: download mastodonpp for buster
image: plugins/download
settings:
source: https://schlomp.space/tastytea/mastodonpp/releases/download/0.4.0/libmastodonpp_0.4.0-0_amd64_buster.deb
destination: mastodonpp_buster.deb
- name: download restclient-cpp source
image: plugins/download
settings:
source: https://github.com/mrtazz/restclient-cpp/archive/0.5.1.tar.gz
destination: restclient-cpp.tar.gz
- name: download linuxdeploy
image: plugins/download
settings:
source: https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
destination: linuxdeploy
- name: AppImage
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
- echo "deb https://packagecloud.io/mrtazz/restclient-cpp/debian/ buster main" > /etc/apt/sources.list.d/restclient-cpp.list
- apt-get install -qq debian-archive-keyring curl gnupg apt-transport-https
- curl -L https://packagecloud.io/mrtazz/restclient-cpp/gpgkey | apt-key add -
- apt-get update -q
- apt-get install -qq build-essential cmake asciidoc
- apt-get install -qq libboost-filesystem-dev libboost-log-dev libboost-regex-dev libjsoncpp-dev catch libcurl4-openssl-dev restclient-cpp
- apt-get -qq install ./mastodonpp_buster.deb
- tar -xf restclient-cpp.tar.gz
- cd restclient-cpp-*
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
- cmake --build .
- make install
- cd ..
- chmod +x linuxdeploy
- rm -rf build && mkdir -p build && cd build
- cmake -DWITH_DESKTOP -DCMAKE_INSTALL_PREFIX=/usr ..
- cmake --build .
- make install DESTDIR=AppDir
- cd ..
- VERSION="${DRONE_TAG}" ./linuxdeploy --appdir build/AppDir --output appimage
volumes:
- name: debian-package-cache
path: /var/cache/apt/archives
- name: 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:
- mastorss-${DRONE_TAG}-x86_64.AppImage
checksum:
- sha512
- 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 ]