In lieu of installing software to LF Jenkins build minions.
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: Id066e89694fd9e1d03c5e97608de82bb60622a98
--- /dev/null
+# CI builder images for O-RAN-SC at LF
+
+This area contains Dockerfiles to assemble images that are used to
+compile source and create binary artifacts such as Docker images for
+O-RAN-SC software features. This approach replaces the common
+practice at LF of installing and maintaining specialty software on
+Jenkins build minions.
--- /dev/null
+# O-RAN-SC
+#
+# Copyright (C) 2019 AT&T Intellectual Property and Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builder image: Alpine 3.9
+# standard packages: C/C++, cmake, etc.
+# RIC libraries: mcdlog (TODO), rmr
+
+FROM alpine:3.9
+RUN apk update && apk add \
+ autoconf \
+ automake \
+ build-base \
+ cmake \
+ libtool \
+ pkgconfig \
+ git
+
+# MCDLOG version 0.0.2, not pinned
+# fails to build in Alpine
+#RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/com/log \
+# && cd log && ./autogen.sh && ./configure && make && make install
+
+# RMR version 1.0.24
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+ && cd rmr && git checkout a012cf63dfdad3656c995cb06c316fd208c63b98 && cmake . && make install
--- /dev/null
+---
+tag: a3.9-l0.0.2-r1.0.24
--- /dev/null
+# O-RAN-SC
+#
+# Copyright (C) 2019 AT&T Intellectual Property and Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builder image: Alpine 3.9
+# standard packages: Go/C++, cmake, etc.
+# RIC libraries: mcdlog (TODO), rmr
+
+FROM alpine:3.9
+RUN apk update && apk add \
+ autoconf \
+ automake \
+ build-base \
+ cmake \
+ libtool \
+ pkgconfig \
+ git \
+ go
+
+# MCDLOG version 0.0.2, not pinned
+# fails to build in Alpine
+#RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/com/log \
+# && cd log && ./autogen.sh && ./configure && make && make install
+
+# RMR version 1.0.24
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+ && cd rmr && git checkout a012cf63dfdad3656c995cb06c316fd208c63b98 && cmake . && make install
--- /dev/null
+---
+tag: a3.9-g1.11-l0.0.2-r1.0.24
--- /dev/null
+# O-RAN-SC
+#
+# Copyright (C) 2019 AT&T Intellectual Property and Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builder image: Debian stretch
+# standard packages: C/C++, cmake, etc.
+# RIC libraries: mcdlog, rmr
+# inherits C and C++ tools from buildpack-deps:stretch
+
+FROM buildpack-deps:stretch
+
+RUN apt-get update && apt-get -q -y install \
+ autoconf \
+ autoconf-archive \
+ automake \
+ cmake \
+ libtool \
+ pkg-config
+
+# version 0.0.2, not pinned
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/com/log \
+ && cd log && ./autogen.sh && ./configure && make && make install
+
+# version 1.0.24
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+ && cd rmr && git checkout a012cf63dfdad3656c995cb06c316fd208c63b98 && cmake . && make install
--- /dev/null
+---
+tag: stretch-l0.0.2-r1.0.24
--- /dev/null
+# O-RAN-SC
+#
+# Copyright (C) 2019 AT&T Intellectual Property and Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builder image: Debian stretch
+# standard packages: Go, cmake, etc.
+# RIC libraries: mcdlog, rmr
+# inherits C and C++ tools from buildpack-deps:stretch
+
+FROM golang:1.12
+
+RUN apt-get update && apt-get -q -y install \
+ autoconf \
+ autoconf-archive \
+ automake \
+ cmake \
+ libtool \
+ pkg-config
+
+# version 0.0.2, not pinned
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/com/log \
+ && cd log && ./autogen.sh && ./configure && make && make install
+
+# version 1.0.24
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+ && cd rmr && git checkout a012cf63dfdad3656c995cb06c316fd208c63b98 && cmake . && make install
--- /dev/null
+---
+tag: stretch-g1.12-l0.0.2-r1.0.24
--- /dev/null
+# O-RAN-SC
+#
+# Copyright (C) 2019 AT&T Intellectual Property and Nokia
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Builder image: Debian stretch
+# standard packages: Python, cmake, etc.
+# RIC libraries: mcdlog, rmr
+# inherits C and C++ tools from buildpack-deps:stretch
+
+FROM python:3.7
+
+RUN apt-get update && apt-get -q -y install \
+ autoconf \
+ autoconf-archive \
+ automake \
+ cmake \
+ libtool \
+ pkg-config
+
+# version 0.0.2, not pinned
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/com/log \
+ && cd log && ./autogen.sh && ./configure && make && make install
+
+# version 1.0.24
+RUN cd /tmp && git clone https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \
+ && cd rmr && git checkout a012cf63dfdad3656c995cb06c316fd208c63b98 && cmake . && make install
--- /dev/null
+---
+tag: stretch-p3.7-r1.0.24
--- /dev/null
+---
+- ci_docker_common: &ci_docker_common
+ # Defines common ci-docker configuration
+ name: ci-docker-common
+ # git repo
+ project: ci-management
+ build-node: ubuntu1804-docker-4c-4g
+ container-public-registry: nexus3.o-ran-sc.org:10001
+ # use the staging repo bcos all builds are RCs
+ container-push-registry: nexus3.o-ran-sc.org:10004
+ # use host network to clone from our gerrit
+ docker-build-args: '--network=host'
+ # default to YAML
+ docker-use-params-from: yaml-file-params
+ # maven settings file has docker credentials
+ mvn-settings: ci-management-settings
+ stream:
+ - master:
+ branch: master
+
+- project:
+ <<: *ci_docker_common
+ name: bldr-ric-debian-c
+ project-name: '{project}-{name}'
+ docker-name: '{name}'
+ docker-root: 'docker/{name}'
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'docker/{name}/.*'
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
+
+- project:
+ <<: *ci_docker_common
+ name: bldr-ric-debian-go
+ project-name: '{project}-{name}'
+ docker-name: '{name}'
+ docker-root: 'docker/{name}'
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'docker/{name}/.*'
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'
+
+- project:
+ <<: *ci_docker_common
+ name: bldr-ric-debian-python
+ project-name: '{project}-{name}'
+ docker-name: '{name}'
+ docker-root: 'docker/{name}'
+ gerrit_trigger_file_paths:
+ - compare-type: REG_EXP
+ pattern: 'docker/{name}/.*'
+ jobs:
+ - '{project-name}-gerrit-docker-jobs'