Add PackageCloud.io publishing to CI scripts
[ric-plt/sdl.git] / ci / Dockerfile
1 #
2 #   Copyright (c) 2018-2019 Nokia.
3 #
4 #   Licensed under the Apache License, Version 2.0 (the "License");
5 #   you may not use this file except in compliance with the License.
6 #   You may obtain a copy of the License at
7 #
8 #       http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #   Unless required by applicable law or agreed to in writing, software
11 #   distributed under the License is distributed on an "AS IS" BASIS,
12 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #   See the License for the specific language governing permissions and
14 #   limitations under the License.
15 #
16
17 FROM ubuntu:18.04
18
19 # Install building tools and SDL dependencies:
20 RUN apt-get update && \
21     apt-get install -y \
22         build-essential \
23         automake \
24         libtool \
25         pkg-config \
26         libgtest-dev \
27         rpm \
28         devscripts \
29         gawk \
30         debhelper \
31         autoconf-archive \
32         libboost-all-dev \
33         libhiredis-dev && \
34     apt-get clean
35
36 # Copy sourcefiles:
37 RUN mkdir -p /tmp/build
38 COPY . /tmp/build
39 WORKDIR /tmp/build
40
41 # Compile and run unit tests:
42 RUN ./autogen.sh && \
43     ./configure && \
44     make all && \
45     make test
46
47 # Build packages:
48 RUN make clean && \
49     make distclean && \
50     ./package.sh --skip-test debian rpm
51
52 RUN cp /tmp/build/ci/publish.sh /bin
53 ENTRYPOINT ["/bin/publish.sh"]