Commit 90357a3e authored by Tiago Peixoto's avatar Tiago Peixoto
Browse files

Add debian release CI integration

parent 4ddc1459
......@@ -19,3 +19,68 @@ job_clang_amd64:
- cd doc; python3 /usr/bin/sphinx-build -b doctest . build *.rst
tags:
- amd64
build_sid:
script:
- BASE=debian:sid
- img=`echo $BASE | sed s/:/_/`
- cd release/debian
- docker build --build-arg BASE=debian:sid --build-arg REF=`git log -n1 --pretty='%H'` -t $img .
- docker run -v $PWD:/mount $img tar -c build | tar x
only:
- tags
artifacts:
paths:
- release/debian/build/*
build_bullseye:
script:
- BASE=debian:bullseye
- img=`echo $BASE | sed s/:/_/`
- cd release/debian
- docker build --build-arg BASE=debian:sid --build-arg REF=`git log -n1 --pretty='%H'` -t $img .
- docker run -v $PWD:/mount $img tar -c build | tar x
only:
- tags
artifacts:
paths:
- release/debian/build/*
build_buster:
script:
- BASE=debian:buster
- img=`echo $BASE | sed s/:/_/`
- cd release/debian
- docker build --build-arg BASE=debian:sid --build-arg REF=`git log -n1 --pretty='%H'` -t $img .
- docker run -v $PWD:/mount $img tar -c build | tar x
only:
- tags
artifacts:
paths:
- release/debian/build/*
build_bionic:
script:
- BASE=ubuntu:bionic
- img=`echo $BASE | sed s/:/_/`
- cd release/debian
- docker build --build-arg BASE=debian:sid --build-arg REF=`git log -n1 --pretty='%H'` -t $img .
- docker run -v $PWD:/mount $img tar -c build | tar x
only:
- tags
artifacts:
paths:
- release/debian/build/*
build_eoan:
script:
- BASE=ubuntu:eoan
- img=`echo $BASE | sed s/:/_/`
- cd release/debian
- docker build --build-arg BASE=debian:sid --build-arg REF=`git log -n1 --pretty='%H'` -t $img .
- docker run -v $PWD:/mount $img tar -c build | tar x
only:
- tags
artifacts:
paths:
- release/debian/build/*
ARG BASE
ARG REF
FROM $BASE as builder
RUN apt-get update
RUN apt-get -y dist-upgrade
RUN apt-get -y install git dpkg-dev dh-make autotools-dev autoconf python3-dev python3-scipy libboost-dev libboost-graph-dev libboost-iostreams-dev libboost-python-dev libboost-regex-dev libcgal-dev python3-cairo-dev libsparsehash-dev libcairomm-1.0-dev libffi-dev libexpat1-dev cdbs
RUN git clone https://git.skewed.de/count0/graph-tool.git python3-graph-tool
WORKDIR python3-graph-tool
RUN git reset --hard $REF
ADD debian debian
RUN cp LICENSE debian/copyright
ADD git2debchangelog.sh .
RUN /bin/bash git2debchangelog.sh > debian/changelog
RUN ./autogen.sh
RUN dpkg-buildpackage -us -uc -j8
WORKDIR ..
RUN mkdir build
RUN mv python3-graph-tool*.deb build/
FROM $BASE
RUN apt-get update
RUN apt-get -y dist-upgrade
RUN apt-get -y install gdebi-core
RUN mkdir build
COPY --from=builder build/* build/
RUN gdebi -n build/python3-graph-tool_*.deb
RUN python3 -c "from graph_tool.all import *; show_config(); g = random_graph(10, lambda: 5, directed=False)"
Source: python3-graph-tool
Section: python
Priority: extra
Maintainer: Tiago de Paula Peixoto <tiago@skewed.de>
Vcs-Browser: https://git.skewed.de/count0/graph-tool
Vcs-Git: https://git.skewed.de/count0/graph-tool.git
Homepage: http://graph-tool.skewed.de
Standards-Version: 3.8.1
Build-Depends: debhelper (>= 7), autotools-dev, g++ (>= 4:4.5), libboost-graph-dev, libboost-iostreams-dev, libboost-python-dev, libboost-system-dev, libboost-thread-dev, libboost-regex-dev, libexpat1-dev, libcgal-dev, python3-dev, cdbs, python3-numpy-dev, python3-scipy, libcairomm-1.0-dev, python3-cairo-dev, libsparsehash-dev
Package: python3-graph-tool
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, python3-scipy
Recommends: libgv-python, python-matplotlib, python-cairo, python-gi-cairo, python-gi, gir1.2-gtk-3.0
Description: graph-tool is an efficient python module for manipulation and statistical analysis of graphs
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
export SPARSEHASH_CFLAGS=-I/usr/include
export SPARSEHASH_LIBS=-L/usr/lib
export CXXFLAGS=-flto=8 -ffunction-sections -fdata-sections
export LDFLAGS=-Wl,--gc-sections
DEB_CONFIGURE_EXTRA_FLAGS += --enable-openmp --docdir=/usr/share/doc/python3-graph-tool PYTHON=python3 --with-sparsehash-prefix=google
#!/bin/bash
#
# Convert git log into changelog in Debian format
#
# Tags in format 1.2.3-4 become version entries. Log entries between them
# become changelog entries. Merge commits are not excluded, so you probably
# have to clean up the result manually.
RE_VERSION='^release-[0-9]\+\([.-][0-9]\+\)*'
# Assume the name of the current directory is the package name
PACKAGE=${PWD##*/}
function logentry() {
local previous=$1
local version=$2
v=`echo $version | sed s/release-//`
echo "$PACKAGE ($v) unstable; urgency=low"
echo
git --no-pager log --format=" * %s" $previous${previous:+..}$version
echo
git --no-pager log --format=" -- %an <%ae> %aD" -n 1 $version
echo
}
git tag --sort "-version:refname" | grep "$RE_VERSION" | (
read version; while read previous; do
logentry $previous $version
version="$previous"
done
logentry "" $version
)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment