From 2d3d7e3bdd2751b5d6574b81c270fa5ee6071783 Mon Sep 17 00:00:00 2001 From: tastytea Date: Mon, 8 Oct 2018 19:57:19 +0200 Subject: [PATCH] CI: replace gcc image with debian image --- .drone.yml | 110 ++++++++++++++++++++++++++++++++++++++++++++++++----- README.md | 2 +- 2 files changed, 102 insertions(+), 10 deletions(-) diff --git a/.drone.yml b/.drone.yml index 22ea82b..904a322 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,12 +1,23 @@ pipeline: gcc8: - image: gcc:8 + image: debian:stretch-slim pull: true + environment: + - LANG=C.utf8 commands: - - echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list.d/sid.list - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - rm /etc/apt/apt.conf.d/docker-clean - apt-get update -q - - apt-get install -qy cmake + - 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 bionic 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 bionic g++-8 + - update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100 + - update-alternatives --set g++ /usr/bin/g++-8 - apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev - apt-get install -qy -t sid libcurlpp-dev - apt-get install -qy rpm file @@ -20,14 +31,28 @@ pipeline: - make package - cmake -DWITH_DEB=OFF -DWITH_RPM=ON .. - make package + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + gcc7: - image: gcc:7 + image: debian:stretch-slim pull: true + environment: + - LANG=C.utf8 commands: - - echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list.d/sid.list - - echo "APT::Default-Release \"stretch\";" >> /etc/apt/apt.conf.d/00default_release + - rm /etc/apt/apt.conf.d/docker-clean - apt-get update -q - - apt-get install -qy cmake + - 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 bionic 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 bionic g++-7 + - update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100 + - update-alternatives --set g++ /usr/bin/g++-7 - apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev - apt-get install -qy -t sid libcurlpp-dev - apt-get install -qy rpm file @@ -41,8 +66,73 @@ pipeline: - make package - cmake -DWITH_DEB=OFF -DWITH_RPM=ON .. - make package + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + gcc5: + image: debian:stretch-slim + pull: true + environment: + - LANG=C.utf8 + 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 bionic 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 bionic g++-5 + - update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 100 + - update-alternatives --set g++ /usr/bin/g++-5 + - apt-get install -qy libcurl4-openssl-dev libjsoncpp-dev + - 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=ON -DWITH_TESTS=ON .. + - make VERBOSE=1 + - make install DESTDIR=install + - ctest .. + - make package + - cmake -DWITH_DEB=ON .. + - make package + - cmake -DWITH_DEB=OFF -DWITH_RPM=ON .. + - make package + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + + gcc6: + image: debian:stretch-slim + pull: true + environment: + - LANG=C.utf8 + 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 + - 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=ON -DWITH_TESTS=ON .. + - make VERBOSE=1 + - make install DESTDIR=install + - ctest .. + - make package + - cmake -DWITH_DEB=ON .. + - make package + - cmake -DWITH_DEB=OFF -DWITH_RPM=ON .. + - make package + volumes: + - /var/cache/debian-package-cache:/var/cache/apt/archives + prepare_release: - image: gcc:7 + image: debian:stretch-slim pull: true when: event: tag @@ -50,6 +140,7 @@ pipeline: - cp -v build/mastodon-cpp-${DRONE_TAG}_x86_64.tar.gz . - cp -v build/libmastodon-cpp_${DRONE_TAG}-0_amd64.deb . - cp -v build/libmastodon-cpp-${DRONE_TAG}-0.x86_64.rpm . + gitea_release: image: plugins/gitea-release pull: true @@ -66,6 +157,7 @@ pipeline: checksum: - sha256 - sha512 + notify: when: status: [ changed, failure ] diff --git a/README.md b/README.md index 68fbe41..efc9572 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ To use the DEB package on stretch, you will need [libcurlpp0](https://packages.d ### Dependencies * Tested OS: Linux -* C++ compiler (tested: gcc 6 / 7 / 8) +* C++ compiler (tested: gcc 5 / 6 / 7 / 8) * [cmake](https://cmake.org/) (tested: 3.9 / 3.7) * [pkgconfig](https://pkgconfig.freedesktop.org/wiki/) (tested: 0.29) * [libcurl](https://curl.haxx.se/) (tested: 7.61 / 7.60)