libgnt/builders

ba8fb914b947
Parents 33425228c2ef
Children 3f7398236ad4
Overhaul everything and add a fedora-30-amd64 image
--- a/Dockerfile.debian-buster-amd64 Thu Nov 29 23:09:13 2018 -0600
+++ b/Dockerfile.debian-buster-amd64 Fri May 24 05:12:52 2019 -0500
@@ -1,6 +1,12 @@
# vi:et:ts=4 sw=4 sts=4:ft=dockerfile
FROM debian:buster-slim
+MAINTAINER Gary Kramlich <grim@reaperworld.com>
+
+ENV DISTRO=debian
+ENV VERSION=buster
+ENV ARCH=amd64
+
RUN set -ex && \
apt-get update && \
apt-get install -y --no-install-recommends \
@@ -11,3 +17,7 @@
apt-get clean && \
rm -rf /var/lib/apt/lists
+COPY simple/build.sh /usr/local/bin/
+
+CMD ["/usr/local/bin/build.sh"]
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Dockerfile.fedora-30-amd64 Fri May 24 05:12:52 2019 -0500
@@ -0,0 +1,23 @@
+# vi:et:ft=dockerfile:ts=4 sw=4 sts=4
+FROM fedora:30
+
+MAINTAINER Gary Kramlich <grim@reaperworld.com>
+
+ENV DISTRO=fedora
+ENV VERSION=30
+ENV ARCH=amd64
+
+RUN set -ex && \
+ dnf install -y \
+ meson ninja-build gcc mercurial \
+ redhat-rpm-config rpm-build \
+ gettext \
+ glib2-devel gobject-introspection-devel gtk-doc \
+ ncurses-devel \
+ && \
+ rm -rf /var/cache/dnf/
+
+COPY simple/build.sh /usr/local/bin/build.sh
+
+CMD ["/usr/local/bin/build.sh"]
+
--- a/convey.yml Thu Nov 29 23:09:13 2018 -0600
+++ b/convey.yml Fri May 24 05:12:52 2019 -0500
@@ -1,9 +1,40 @@
# vi:et:ts=2 sw=2 sts=2
+environment:
+ - ARCH=amd64
+ - REPO=libgnt/builders
+ - REGISTRY_HOST=docker.io
+ - REGISTRY_USERNAME
+ - REGISTRY_PASSWORD
+
tasks:
import:
type: docker/import
files: .:.
+ build:
+ type: docker/build
+ dockerfile: Dockerfile.${DISTRO}-${VERSION}-${ARCH}
+ tag: ${REGISTRY_HOST}/${REPO}:${DISTRO}-${VERSION}-${ARCH}
+ files:
+ - ${FILES}
+ labels:
+ - COMMIT=${HG_COMMIT}
+ - TIMESTAMP=${RUN_TIME}
+
+ publish:
+ type: docker/push
+ image: ${REGISTRY_HOST}/${REPO}:${DISTRO}-${VERSION}-${ARCH}
+
+ login:
+ type: docker/login
+ server: ${REGISTRY_HOST}
+ username: ${REGISTRY_USERNAME}
+ password: ${REGISTRY_PASSWORD}
+
+ logout:
+ type: docker/logout
+ server: ${REGISTRY_HOST}
+
debian-buster-amd64:
type: docker/build
tag: libgnt/builders:debian-buster-amd64
@@ -11,13 +42,22 @@
plans:
debian-buster-amd64:
+ environment: [DISTRO=debian, VERSION=buster, FILES=simple]
stages:
- - tasks:
- - import
- - debian-buster-amd64
+ - tasks: [import, build]
+
+ fedora-30-amd64:
+ environment: [DISTRO=fedora, VERSION=30, FILES=simple]
+ stages:
+ - tasks: [import, build]
-meta-plans:
- default:
- plans:
- - debian-buster-amd64
+ build:
+ stages:
+ - tasks: [import, build]
+ publish:
+ stages:
+ - tasks: [login, publish]
+ - tasks: [logout]
+ run: always
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/simple/build.sh Fri May 24 05:12:52 2019 -0500
@@ -0,0 +1,26 @@
+#!/bin/sh -ex
+# Copyright (C) 2019 Gary Kramlich <grim@reaperworld.com>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+cd "${CONVEY_WORKSPACE}"
+
+BUILD_DIR="${DISTRO:-unknown}-${VERSION:-unknown}-${ARCH:-unknown}"
+
+meson ${BUILD_DIR}
+ninja -C ${BUILD_DIR}
+ninja -C ${BUILD_DIR} test
+ninja -C ${BUILD_DIR} libgnt-doc
+