From 038e0293c67f1013940020a750e42ef71d1721ce Mon Sep 17 00:00:00 2001 From: Daniel Mensinger Date: Fri, 31 Jan 2020 22:13:59 +0100 Subject: ci: Add Fedora and OpenSUSE images --- ci/ciimage/fedora/Dockerfile | 4 ++++ ci/ciimage/fedora/install.sh | 24 +++++++++++++++++++++++ ci/ciimage/opensuse/Dockerfile | 4 ++++ ci/ciimage/opensuse/install.sh | 44 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 ci/ciimage/fedora/Dockerfile create mode 100755 ci/ciimage/fedora/install.sh create mode 100644 ci/ciimage/opensuse/Dockerfile create mode 100755 ci/ciimage/opensuse/install.sh (limited to 'ci') diff --git a/ci/ciimage/fedora/Dockerfile b/ci/ciimage/fedora/Dockerfile new file mode 100644 index 0000000..fa552e4 --- /dev/null +++ b/ci/ciimage/fedora/Dockerfile @@ -0,0 +1,4 @@ +FROM fedora:latest + +ADD install.sh /usr/sbin/docker-fedora-install +RUN docker-fedora-install diff --git a/ci/ciimage/fedora/install.sh b/ci/ciimage/fedora/install.sh new file mode 100755 index 0000000..580c9e8 --- /dev/null +++ b/ci/ciimage/fedora/install.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +pkgs=( + python python-setuptools python-wheel python-pip python-pytest-xdist pygobject3 python3-devel python2-devel + ninja-build make git autoconf automake patch python3-Cython python2-Cython + elfutils gcc gcc-c++ gcc-fortran gcc-objc gcc-objc++ vala rust bison flex ldc libasan libasan-static + mono-core boost-devel gtkmm30 gtest-devel gmock-devel protobuf-devel wxGTK3-devel gobject-introspection + itstool gtk3-devel java-latest-openjdk-devel gtk-doc llvm-devel clang-devel SDL2-devel graphviz-devel zlib zlib-devel zlib-static + #hdf5-openmpi-devel hdf5-devel netcdf-openmpi-devel netcdf-devel netcdf-fortran-openmpi-devel netcdf-fortran-devel scalapack-openmpi-devel + doxygen vulkan-devel vulkan-validation-layers-devel openssh mercurial gtk-sharp2-devel libpcap-devel gpgme-devel + qt5-qtbase-devel qt5-qttools-devel qt5-linguist qt5-qtbase-private-devel + libwmf-devel valgrind cmake openmpi-devel nasm gnustep-base-devel gettext-devel ncurses-devel + libxml2-devel libxslt-devel libyaml-devel glib2-devel json-glib-devel +) + +# Sys update +dnf -y upgrade + +# Install deps +dnf -y install "${pkgs[@]}" +python3 -m pip install hotdoc gobject PyGObject + +# Cleanup +dnf -y clean all diff --git a/ci/ciimage/opensuse/Dockerfile b/ci/ciimage/opensuse/Dockerfile new file mode 100644 index 0000000..3d97bac --- /dev/null +++ b/ci/ciimage/opensuse/Dockerfile @@ -0,0 +1,4 @@ +FROM opensuse/tumbleweed:latest + +ADD install.sh /usr/sbin/docker-opensuse-install +RUN docker-opensuse-install diff --git a/ci/ciimage/opensuse/install.sh b/ci/ciimage/opensuse/install.sh new file mode 100755 index 0000000..b30b208 --- /dev/null +++ b/ci/ciimage/opensuse/install.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +pkgs=( + python3-setuptools python3-wheel python3-pip python3-pytest-xdist python3 python2 + ninja make git autoconf automake patch python3-Cython python2-Cython + elfutils gcc gcc-c++ gcc-fortran gcc-objc gcc-obj-c++ vala rust bison flex curl + mono-core gtkmm3-devel gtest gmock protobuf-devel wxGTK3-3_2-devel gobject-introspection-devel + itstool gtk3-devel java-13-openjdk-devel gtk-doc llvm-devel clang-devel libSDL2-devel graphviz-devel zlib-devel zlib-devel-static + #hdf5-devel netcdf-devel libscalapack2-openmpi3-devel libscalapack2-gnu-openmpi3-hpc-devel openmpi3-devel + doxygen vulkan-devel vulkan-validationlayers openssh mercurial gtk-sharp3-complete gtk-sharp2-complete libpcap-devel libgpgme-devel + libqt5-qtbase-devel libqt5-qttools-devel libqt5-linguist libqt5-qtbase-private-headers-devel + libwmf-devel valgrind cmake nasm gnustep-base-devel gettext-tools gettext-runtime gettext-csharp ncurses-devel + libxml2-devel libxslt-devel libyaml-devel glib2-devel json-glib-devel + boost-devel libboost_date_time-devel libboost_filesystem-devel libboost_locale-devel libboost_system-devel + libboost_test-devel libboost_log-devel libboost_regex-devel + libboost_python-devel libboost_python-py2_7-1_71_0-devel libboost_python-py3-1_71_0-devel libboost_regex-devel +) + +# Sys update +zypper patch --with-update --with-optional +zypper update + +# Install deps +zypper install -y "${pkgs[@]}" +python3 -m pip install hotdoc gobject PyGObject + +echo 'export PKG_CONFIG_PATH="/usr/lib64/mpi/gcc/openmpi3/lib64/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc + +# dmd is very special on OpenSUSE (as in the packages do not work) +# see https://bugzilla.opensuse.org/show_bug.cgi?id=1162408 +curl -fsS https://dlang.org/install.sh | bash -s dmd | tee dmd_out.txt +cat dmd_out.txt | grep source | sed 's/^[^`]*`//g' | sed 's/`.*//g' >> ~/.bashrc +chmod +x ~/.bashrc + +source ~/.bashrc + +dub fetch urld +dub build urld --compiler=dmd +dub fetch dubtestproject +dub build dubtestproject:test1 --compiler=dmd +dub build dubtestproject:test2 --compiler=dmd + +# Cleanup +zypper clean --all -- cgit v1.1